Javascript 多维数组-基于indexOf值拼接整个数组
所以我现在有一个多维数组,我正试图将一个值与索引拼接在一起,它是一个刚刚被删除的通道名,然后在该值所在的位置删除该值 但它并没有这样做,它总是拼接最后一个值,我已经调试以确保传递正确的值,我想删除该值,但……仍然没有任何效果,我对MD阵列没有太多经验,但到目前为止,这证明是一个痛苦的过程 我曾试图篡改索引,但结果总是相同或相反 以下是拼接功能的当前代码:Javascript 多维数组-基于indexOf值拼接整个数组,javascript,arrays,Javascript,Arrays,所以我现在有一个多维数组,我正试图将一个值与索引拼接在一起,它是一个刚刚被删除的通道名,然后在该值所在的位置删除该值 但它并没有这样做,它总是拼接最后一个值,我已经调试以确保传递正确的值,我想删除该值,但……仍然没有任何效果,我对MD阵列没有太多经验,但到目前为止,这证明是一个痛苦的过程 我曾试图篡改索引,但结果总是相同或相反 以下是拼接功能的当前代码: function stasisEnd(event, channel) { console.log(util.format(
function stasisEnd(event, channel) {
console.log(util.format(
'Channel %s just left our application', channel.name));
console.log(channel.name);
//This is where the channels are removed from the array once they leave or are kicked from the channel.
var index = channelArr.indexOf(channel.name);
channelArr.splice(index, 1);
console.log(channelArr);
}
这是阵列的外观,其中包含3个阵列:
[["1447667845.0","SIP/488-00000000"],["1447667858.4","SIP/477-00000002"],["1447667847.1","SIP/487-00000001"]]
到目前为止,它总是删除我想要删除数组的最后一个通道,如果它的索引从通道中删除。名称值,因此:
var index = 0;
var foundIndex = false;
for( var i in channelArr ) {
var channelArrElem = channelArr[ i ];
if( channelArrElem[ 1 ] == channel.name ) {
index = i;
foundIndex = true;
}
}
if( foundIndex ) {
channelArr.splice(index, 1);
console.log(channelArr);
updateSip();
} else {
// Something went very wrong and the channel wasn't there.
}
这样做更有意义,而且效果很好,我最初使用的是两个简单的数组。。。。。但是由于我需要实现一些功能,我认为使用MD阵列会更高效,更易于管理。干杯