我一直在尝试对MD数组使用unshift函数,并且我无法使它相应地工作。对多维数组使用unshift函数
我正在使用shift没关系,它确实需要像预期的那样,但不转移不。
下面是我使用的阵列:
[ [ '487', 'RINGING' ], [ '477', 'RINGING' ] ]
当我尝试在它上面做一个不印字它显示以下内容:
[ [ '487', 'RINGING' ], [ '477', 'RINGING' ], 2 ]
我只需要477阵列转移到开始像这样:
[ [ '477', 'RINGING' ], [ '487', 'RINGING' ]]
的代码我使用:
var channelArrStatus = [ [ '477', 'RINGING' ], [ '487', 'RINGING' ]];
function monitor_channel(event, channel) {
if (event.device_state['state'] === "RINGING") {
var name = "User_487";
var status = "NOT_INUSE"
var index = 0;
if (channelArrStatus.length === 0) {
var chanar = new Array(name, status);
channelArrStatus.push(chanar);
} else {
var found = false;
for (var i in channelArrStatus) {
var channelArrStatusElem = channelArrStatus[i];
if (channelArrStatusElem[0] === name) {
index = i;
found = true;
if (channelArrStatus[index][1] !== "DND") {
channelArrStatus.push(channelArrStatus.unshift());
setTimeout(function() {
channelArrStatus[index][1] = status;
}, 10000);
}
}
}
}
}
我不能让它将数组移动到数组的开头,如上面使用unshift突出显示的那样。
有什么建议吗?
编辑:JSFiddle
'unshift'将一个元素添加到数组的开头,你试图实现什么? – giannisf
@giannisf多数民众赞成是什么试图做,但我不能得到它的工作.. – Studento919
看看我的回答 – giannisf