Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否从多维数组中删除特定数组元素?_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

Javascript 是否从多维数组中删除特定数组元素?

Javascript 是否从多维数组中删除特定数组元素?,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我在循环多维数组和删除特定元素数组时遇到问题。我的多维数组看起来有点像这样: myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]]; 如果我有29号。在这个数组中循环并删除第二个元素是29的数组元素最有效的方法是什么?i、 e.[迪克”,“29”] .filter使用本机代码在数组上循环。构建一个新的阵列当然比仅仅从旧阵列上切下一部分进行测试要昂贵。myArray=[[“Tom”、“161”]、[“Dick”、“29”]、[“H

我在循环多维数组和删除特定元素数组时遇到问题。我的多维数组看起来有点像这样:

myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
如果我有29号。在这个数组中循环并删除第二个元素是29的数组元素最有效的方法是什么?i、 e.[迪克”,“29”]

.filter使用本机代码在数组上循环。构建一个新的阵列当然比仅仅从旧阵列上切下一部分进行测试要昂贵。

myArray=[[“Tom”、“161”]、[“Dick”、“29”]、[“Harry”、“46”];
myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
for(var i = 0; i <= myArray.length - 1; i++){
    if(myArray[i][1] == "29"){
        myArray[i].splice(0,2);
    }
}
console.log(myArray);

// returns [ [ 'Tom', '161' ], [], [ 'Harry', '46' ] ]

对于(var i=0;i,通过brbcoding得到的答案会删除数组元素的内容,但不会删除它。下面是一种解决方法:

myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
document.getElementById("a").innerHTML = myArray;
for(var i = 0; i <= myArray.length - 1; i++){
   if(myArray[i][1] == "29"){
       myArray.splice(i--,1);
}
}
document.getElementById("b").innerHTML = myArray;
console.log(myArray);
myArray=[[“汤姆”、“161”]、[“迪克”、“29”]、[“哈利”、“46”];
document.getElementById(“a”).innerHTML=myArray;

对于(var i=0;i A.根据您对数据所做的其他操作,您可以首先对数组进行排序。我认为这将是indexOf和splice的某种组合?
indexOf
不会真正起作用,因为您正在寻找元素中的元素。但是您可以轻松地测试使用它更快的操作。是的,这就是我所认为的,这就是我为什么正如我所问。但我不确定for循环应该是什么样子来实现这一点?这是可行的,但你认为制作一个新阵列的效率低于上述的循环拼接方法?这种方法比我的方法要快得多。。。
myArray = [["Tom", "161"], ["Dick", "29"], ["Harry", "46"]];
document.getElementById("a").innerHTML = myArray;
for(var i = 0; i <= myArray.length - 1; i++){
   if(myArray[i][1] == "29"){
       myArray.splice(i--,1);
}
}
document.getElementById("b").innerHTML = myArray;
console.log(myArray);
   array_name = [[1,2,3],[],['Hi','hello','world']] 
    let temp = []
    array_name.forEach(element => {
      if (element != '' || `enter condition here`) {
        temp.push(element)
      }
    });
    
    array_name = temp; // array_name = [  [1,2,3], ['Hi','hello','world'] ]