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中删除两个不同数组中的空元素_Javascript_Arrays - Fatal编程技术网

在javascript中删除两个不同数组中的空元素

在javascript中删除两个不同数组中的空元素,javascript,arrays,Javascript,Arrays,我有2个数组,其中一个填充了元素,另一个为空元素,例如: let arr1 = ['apples', 'bananas', 'oranges', 'strawberries', 'blueberries', 'pineapple'] let arr2 = [1,,3,,,4] 如何删除香蕉、草莓和蓝莓,以及arr2中的空元素,应如下所示: let arr1 = ['apples', 'oranges', 'pineapple'] let arr2 = [1,3,4] 编辑:向数组中添加更多元

我有2个数组,其中一个填充了元素,另一个为空元素,例如:

let arr1 = ['apples', 'bananas', 'oranges', 'strawberries', 'blueberries', 'pineapple']
let arr2 = [1,,3,,,4]
如何删除香蕉、草莓和蓝莓,以及
arr2
中的空元素,应如下所示:

let arr1 = ['apples', 'oranges', 'pineapple']
let arr2 = [1,3,4]

编辑:向数组中添加更多元素以进行缩放。

您可以迭代并仅返回预期值,如下面的代码段所示

编辑后,请按照下面的代码段进行操作

让arr1=[‘苹果’、‘香蕉’、‘橙子’]
设arr2=[1,3]
var filtered=arr2.filter((项目、索引)=>{
如果(arr2[index]!=null){
arr1.拼接(索引,索引);
返回true;
}否则{
返回错误
}
});
console.log(过滤);

控制台日志(arr1)您可以迭代并仅返回预期值,如下面的代码段

编辑后,请按照下面的代码段进行操作

让arr1=[‘苹果’、‘香蕉’、‘橙子’]
设arr2=[1,3]
var filtered=arr2.filter((项目、索引)=>{
如果(arr2[index]!=null){
arr1.拼接(索引,索引);
返回true;
}否则{
返回错误
}
});
console.log(过滤);
控制台日志(arr1)您可以使用:

让arr1=[‘苹果’、‘香蕉’、‘橘子’、‘草莓’、‘蓝莓’、‘菠萝’];
设arr2=[1,3,4];
arr1=arr1.过滤器((x,i)=>arr2[i]!==未定义);
arr2=arr2.filter(x=>x!==未定义);
控制台日志(arr1);
控制台日志(arr2)您可以使用:

让arr1=[‘苹果’、‘香蕉’、‘橘子’、‘草莓’、‘蓝莓’、‘菠萝’];
设arr2=[1,3,4];
arr1=arr1.过滤器((x,i)=>arr2[i]!==未定义);
arr2=arr2.filter(x=>x!==未定义);
控制台日志(arr1);

控制台日志(arr2)您可以使用
true
进行映射和过滤,因为过滤器会忽略稀疏项

让数组1=[“苹果”、“香蕉”、“橙子”],
array2=[1,3],
result1=array2.map((\u,i)=>array1[i]).filter(\u=>true),
result2=array2.filter(=>true);
console.log(result1);

console.log(result2)您可以使用
true
进行映射和过滤,因为过滤器会忽略稀疏项

让数组1=[“苹果”、“香蕉”、“橙子”],
array2=[1,3],
result1=array2.map((\u,i)=>array1[i]).filter(\u=>true),
result2=array2.filter(=>true);
console.log(result1);
console.log(result2)
const filterOutItems=(数组,itemValue=未定义){
if(typeof itemValue==未定义){
返回数组。过滤器((el)=>!!el);
}否则{
返回array.filter((el)=>el!=itemValue);
}
}
filter方法将只返回满足谓词的项。

常量filterOutItems=(数组,itemValue=undefined){
if(typeof itemValue==未定义){
返回数组。过滤器((el)=>!!el);
}否则{
返回array.filter((el)=>el!=itemValue);
}
}
filter方法将只返回满足谓词的项。

您可以使用

检查。

您可以使用


检查。

如何在arr1中为更多的元素缩放此值?我不想硬编码“香蕉”这个词如果你不想给香蕉,你想用什么策略删除这些元素?我的意思是基于什么。请让我知道我无法理解这个问题,以便更好地理解我已经更新了代码,请检查我如何在arr1中扩展更多元素?我不想硬编码“香蕉”这个词如果你不想给香蕉,你想用什么策略删除这些元素?我的意思是基于什么。请让我知道我无法理解这个问题,以便更好地理解。我已经更新了代码。请检查我如何制作它,以便它不会被过滤掉0@LittleBall更新为处理0,您的示例不是从0开始的,我想如果您有更多的项目,它们将是更大的数字。非常感谢!我如何使它不被过滤掉0@LittleBall更新为处理0,您的示例不是从0开始的,我想如果您有更多的项目,它们将是更大的数字。非常感谢!
let arr1 = ['apples', 'bananas', 'oranges', 'strawberries', 'blueberries', 'pineapple']
let arr2 = [1,,3,,,4]

let result = arr1.filter((item, index) => {
    return arr2[index] !== undefined;
});

console.log(result); // Outputs: ["apples", "oranges", "pineapple"]