Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 JS双数组删除元素_Javascript_Arrays - Fatal编程技术网

Javascript JS双数组删除元素

Javascript JS双数组删除元素,javascript,arrays,Javascript,Arrays,我想从数组中删除一个元素(数组) 这是我尝试过的,但这种比较永远不会成为现实,尽管它应该成为现实 function removeElementFromArray(carsArray, car){ var i; for(var k = 0; k < carsArray.length; k++){ if(carsArray[k][0] == car[0]){ i=k; } } var index = ca

我想从数组中删除一个元素(数组)

这是我尝试过的,但这种比较永远不会成为现实,尽管它应该成为现实

function removeElementFromArray(carsArray, car){
    var i;
    for(var k = 0; k < carsArray.length; k++){
        if(carsArray[k][0] == car[0]){
            i=k;
        }
    }

    var index = carsArray.indexOf(i);
    if(index != -1) {
        carsArray.splice(index, 1);
    }
}
函数removeElementFromArray(carsArray,car){
var i;
对于(var k=0;k
carsArray.indexOf(i)
永远找不到任何东西
carsArray
是数组的数组,
i
是找到匹配项的索引,而不是数组

您不需要调用
indexOf()
,for
循环的
已经找到了所需的索引。你只需要测试一下它是否发现了什么

if (index !== undefined) {
    carsArray.splice(index, 1));
}
你也应该把
break在循环中,因此一旦找到匹配项,就停止搜索

实际上,你可以在循环中进行拼接

for (var i = 0; i < carsArray.length; k++) {
    if (carsArray[k][0] == car[0]) {
        carsArray.splice(k, 1);
        break;
    }
}
for(变量i=0;i
您可以尝试使用数组
。每个
方法进行比较,如果可以使用es6,还可以使用
.findIndex

car=[“carId”、“brand”、“year”]//排列
所选汽车=[“carId”、“品牌”、“年份”]、[“其他carId”、“品牌”、“年份”]//数组的数组
功能removeCar(已选择,汽车){
const index=selected.findIndex(selectedCar=>selectedCar.every((val,i)=>val==car[i]);
如果选择了(索引!==未定义)。拼接(索引,1);
返回选中的;
}
控制台日志(选定的车辆);
removeCar(选定车辆、车辆);
控制台日志(选定的车辆)
for (var i = 0; i < carsArray.length; k++) {
    if (carsArray[k][0] == car[0]) {
        carsArray.splice(k, 1);
        break;
    }
}