Javascript 根据另一个数组的空元素从数组中删除元素
我只想在另一个数组中存在空元素时从数组中删除元素。我有这个:Javascript 根据另一个数组的空元素从数组中删除元素,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我只想在另一个数组中存在空元素时从数组中删除元素。我有这个: var fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”]; var vegetales=[,“Ajo”,“Cebolla”,“Tomate”,“”,“Zanahoria”]; //输出应如下所示: //[“纳兰贾”、“芒果”、“弗雷萨”、“桑迪亚”] 函数myFunction(){ 用于(蔬菜中的var i){ if(蔬菜类[i]=''){ frutaAeliminar=水果[
var fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
var vegetales=[,“Ajo”,“Cebolla”,“Tomate”,“”,“Zanahoria”];
//输出应如下所示:
//[“纳兰贾”、“芒果”、“弗雷萨”、“桑迪亚”]
函数myFunction(){
用于(蔬菜中的var i){
if(蔬菜类[i]=''){
frutaAeliminar=水果[i];
indexFruta=水果。indexOf(frutaAeliminar);
如果(indexfrata!=-1){
水果.拼接(indexFruta,1)
}
}
}
原木(水果);
}
myFunction()代码>简单解决方案:
var fruits = ["Banana", "Naranja", "Manzana", "Mango", "Fresa", "Limón", "Lima", "Sandia"];
var vegetales = ["", "Ajo", "", "Cebolla", "Tomate", "", "", "Zanahoria"];
var result = [];
for(var i = 0;i<fruits.length;i++){
if(vegetales[i]!=""){
result.push(fruits[i]);
}
}
console.log(result);
在此处运行:
var fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
var vegetales=[,“Ajo”,“Cebolla”,“Tomate”,“”,“Zanahoria”];
var结果=[];
对于(var i=0;i简单解:
var fruits = ["Banana", "Naranja", "Manzana", "Mango", "Fresa", "Limón", "Lima", "Sandia"];
var vegetales = ["", "Ajo", "", "Cebolla", "Tomate", "", "", "Zanahoria"];
var result = [];
for(var i = 0;i<fruits.length;i++){
if(vegetales[i]!=""){
result.push(fruits[i]);
}
}
console.log(result);
在此处运行:
var fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
var vegetales=[,“Ajo”,“Cebolla”,“Tomate”,“”,“Zanahoria”];
var结果=[];
对于(var i=0;i我认为您弄错了,因为您在循环过程中更改了数组的长度。此解决方案使用第三个数组将结果推送到w/o更改原始数组
此外,还有一些快速提醒:
使用for…in
仅用于在对象键/值对上迭代,否则使用标准for
循环
不要忘记用var
语句声明变量,否则会污染全局名称空间
var fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
var vegetales=[,“Ajo”,“Cebolla”,“Tomate”,“”,“Zanahoria”];
var i;
var outputArr=[];
//输出应如下所示:
//[“纳兰贾”、“芒果”、“弗雷萨”、“桑迪亚”]
函数myFunction(){
对于(i=0;i我认为您弄错了,因为您在循环过程中更改了数组的长度。此解决方案使用第三个数组将结果推送到w/o更改原始数组
此外,还有一些快速提醒:
使用for…in
仅用于在对象键/值对上迭代,否则使用标准for
循环
不要忘记用var
语句声明变量,否则会污染全局名称空间
var fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
var vegetales=[,“Ajo”,“Cebolla”,“Tomate”,“”,“Zanahoria”];
var i;
var outputArr=[];
//输出应如下所示:
//[“纳兰贾”、“芒果”、“弗雷萨”、“桑迪亚”]
函数myFunction(){
对于(i=0;i示例,使用ES6
在三元结构中使用和使用&&
,使我们不必为或而烦恼,如果不需要的话
const fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
const vegetales=[”“、“Ajo”、“cebola”、“Tomate”、“”“、”“、”Zanahoria“];
/*仅在对应数组项不等于“”时拾取*/
const newArray=fruits.filter((fruit,idx)=>(vegetales[idx]!==''&&fruit))
console.log(newArray)
使用ES6的示例
在三元结构中使用和使用&&
,使我们不必为或而烦恼,如果不需要的话
const fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
const vegetales=[,“Ajo”,“Cebolla”,“Tomate”,“”,“Zanahoria”];
/*仅在对应数组项不等于“”时拾取*/
const newArray=fruits.filter((fruit,idx)=>(vegetales[idx]!==''&&fruit))
log(newArray)
您可以使用相应的vegetales
项的真实值进行筛选
var fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
蔬菜=[,“Ajo”,“Cebolla”,“Tomate”,“Zanahoria”],
newArray=fruits.filter((uu,i)=>vegetales[i]);
log(newArray)
您可以使用相应的vegetales
项的真实值进行筛选
var fruits=[“香蕉”、“纳兰贾”、“曼扎纳”、“芒果”、“弗雷萨”、“利蒙”、“利马”、“桑迪亚”];
蔬菜=[,“Ajo”,“Cebolla”,“Tomate”,“Zanahoria”],
newArray=fruits.filter((uu,i)=>vegetales[i]);
console.log(newArray)
Slick-使我更加堕落!Slick-使我更加堕落!