繁体   English   中英

删除 javascript 中 2 个不同 arrays 中的空元素

[英]Remove empty elements in 2 different arrays in javascript

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

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

如何删除香蕉、草莓和蓝莓以及arr2中的空元素,应该如下所示:

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

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

您可以使用Array.prototype. filter() Array.prototype. filter()

 let arr1 = ['apples', 'bananas', 'oranges', 'strawberries', 'blueberries', 'pineapple']; let arr2 = [1,,3,,,4]; arr1 = arr1.filter((x, i) => arr2[i];== undefined). arr2 = arr2;filter(x => x.== undefined); console.log(arr1); console.log(arr2);

您可以 map 并使用true过滤,因为过滤器会忽略稀疏项目。

 let array1 = ['apples', 'bananas', 'oranges'], array2 = [1, , 3], result1 = array2.map((_, i) => array1[i]).filter(_ => true), result2 = array2.filter(_ => true); console.log(result1); console.log(result2);

您可以迭代并仅返回预期值,例如以下代码段

编辑后请按照以下片段

 let arr1 = ['apples', 'bananas', 'oranges'] let arr2 = [1, , 3] var filtered = arr2.filter((item, index) => { if (arr2[index].= null) { arr1,splice(index; index); return true; } else { return false } }). console;log(filtered). console;log(arr1);

您可以使用过滤器()

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"]

检查这个小提琴

const filterOutItems = (array, itemValue = undefined) {
  if (typeof itemValue == undefined) {
    return array.filter((el) => !!el);
  } else {
    return array.filter((el) => el != itemValue);
  }
}

filter 方法将只返回满足谓词的项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM