因此,我目前正在尝试覆盖多维数组中的一个值.....我想根据channel.name所在的位置覆盖一个值,并根据需要更改静音状态的值。
所以我想做的是:
数组中的值静音
当我调用该函数取消静音时,我想将“静音”值替换为“取消静音”。
然后执行相同的“静音”并有效地切换值。
问题是我目前总是一遍又一遍地推送值,如下所示:[ [ '1447682617.29', 'SIP/487-0000000b', 'Mute', 'Unmute' ] ]
我只想覆盖“静音”并将其替换为“取消静音”。
我的索引部分很好,它只是能够覆盖该值。
到目前为止,我的代码是:
//ARI function to mute channels.
function mute(mutval,mutestate) {
console.log("Muting:" + mutval);
var index = 0;
var findex = false;
for (var i in channelArr) {
var channelArrEle = channelArr[i];
if (channelArrEle[0] == mutval) {
index = i;
findex = true;
console.log("First Part works!")
}
}
if (findex) {
channelArr[index].push(mutestate);
console.log(channelArr);
} else {
console.log("Error")
}
}
//ARI function to unmute channels which have been muted.
function unmute(unval,mutestate) {
console.log("Unmuting: " + unval);
var index = 0;
var findex = false;
for (var i in channelArr) {
var channelArrEle = channelArr[i];
if (channelArrEle[0] == unval) {
index = i;
findex = true;
console.log("First Part works!")
}
}
if (findex) {
channelArr[index].push(mutestate);
//Just added this to see what would happen!
channelArr[index] = mutestate;
console.log(channelArr);
} else {
console.log("Error")
}
}
任何建议无疑都是它的次要问题。
最佳答案
尝试更改(两者都发生)
channelArr[index].push(mutestate);
与
var channelData = channelArr[index];
channelData[2] = mutestate;
channelArr[index] = channelData;
如果可行,您可以尝试像这样缩短代码
channelArr[index][2] = mutestate;
关于javascript - 覆盖/替换多维数组中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33737543/