gpt4 book ai didi

javascript - 如何获得没有空属性的新数组?

转载 作者:行者123 更新时间:2023-11-29 17:43:20 24 4
gpt4 key购买 nike

对于 ex 我有一个数组:

array = [
{age: 5,
name: 'John'},
{age: 6,
name: 'Ronald'},
{age: 3,
name: ''}
]

我应该怎么做才能获得没有空属性(例如 3d 对象)的新数组?喜欢一个

newArray = [
{age: 5,
name: 'John'},
{age: 6,
name: 'Ronald'},
]

只需要使用没有 jquery 等的 vanila JS.. 谢谢你们!

最佳答案

Array.filter() 与对象解构结合使用以保持代码简单:

var array = [
{age: 5,
name: 'John'},
{age: 6,
name: 'Ronald'},
{age: 3,
name: ''}
];
var res = array.filter(({name}) => name);
console.log(res);

如果您想同时检查这两个属性,请在 filter 条件中使用 name && age:

var array = [
{age: 5,
name: 'John'},
{age: 6,
name: 'Ronald'},
{age: 3,
name: ''},
{age: '',
name: ''}
];
var res = array.filter(({name, age}) => name && age);
console.log(res);

如果您还希望在 IE 浏览器上完美运行代码,那么使用不使用 ES6 的简单检查:

var array = [
{age: 5,
name: 'John'},
{age: 6,
name: 'Ronald'},
{age: 3,
name: ''},
{age: '',
name: ''}
];
var res = [];
array.forEach(function(item){
if(item.age && item.name){
res.push(item);
}
});
console.log(res);

关于javascript - 如何获得没有空属性的新数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51668543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com