Javascript 多维数组中的覆盖/替换值
因此,我当前正在尝试覆盖多维数组中的一个值……我希望根据channel.name所在位置覆盖一个值,并更改静音状态的值(如果愿意) 所以我想做的是:Javascript 多维数组中的覆盖/替换值,javascript,arrays,Javascript,Arrays,因此,我当前正在尝试覆盖多维数组中的一个值……我希望根据channel.name所在位置覆盖一个值,并更改静音状态的值(如果愿意) 所以我想做的是: 数组中的静音值 当我调用函数取消静音时,我想用“取消静音”替换“静音”值 然后执行相同的静音和有效切换值 问题是,我目前总是一遍又一遍地推送这些值,就像这样:[['1447682617.29','SIP/487-0000000b','Mute','Unmute'] 我只是想覆盖Mute并用Unmute替换它 我有索引部分,它只是能够覆盖该值 到目前
[['1447682617.29','SIP/487-0000000b','Mute','Unmute']
我只是想覆盖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][2] = mutestate;
非常好的解决方案!
var channelData = channelArr[index];
channelData[2] = mutestate;
channelArr[index] = channelData;
channelArr[index][2] = mutestate;