覆盖/替换多维数组中的值
Overwrite/Replace Value in multi-dimensional array
所以我目前正在尝试覆盖多维数组中的一个值。。。。。我想根据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;
相关文章:
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- Javascript替换字节数组序列
- 如何检查和替换数组中的值
- Javascript:字符串中有效的基于数组的替换
- 用数组(javascript)中的值替换regex捕获
- 将数组存储到本地存储中,而不是替换
- 将对象值替换为外部数组中的值
- 如何在 JavaScript 中将数组中的 [ ] 替换为 var 结果
- 合并/替换Javascript数组
- 使用Javascript regex替换“index”数组字符串
- 将数组值替换为循环以创建新数组
- 无法替换Javascript中对象数组的键
- JavaScript:替换数组中的字符串
- 用字符替换将字符串之类的数组替换为数组
- 挖空 JS - 数组替换,同时保留相同的元素
- API/应用程序设计:用新数组替换非常大的数组或修改现有数组
- jQuery:用数组替换数组
- 用数组替换重复的代码,并对其进行迭代
- 如何用jQuery对象数组替换一个DOM元素?
- DOM -用节点数组替换节点(有效地)