我一直在嘗試對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