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;
}
}