我有一个数组;
[
{pre_ref_fullname: "", pre_ref_position: "", pre_ref_phone: ""},
{pre_ref_fullname: "", pre_ref_position: "", pre_ref_phone: ""},
{pre_ref_fullname: "", pre_ref_position: "", pre_ref_phone: ""}
]
所以,如果值为空,我想删除元素。如果用户添加了 2 个引用信息,我想获取这样的数据;
[
{pre_ref_fullname: "Name", pre_ref_position: "Job", pre_ref_phone: "Number"},
{pre_ref_fullname: "Name2", pre_ref_position: "Job2", pre_ref_phone: "Number2"}
]
我使用了一些方法但不起作用。这是最后一次使用reduce 尝试,$prerefData 拥有这个数组;
var arr = $prerefData.reduce((result, item) => {
if (item.value != "") {
result.push(item);
}
return result;
}, []);
console.log(arr);
最佳答案
您可以使用Javascript Array filter method
简单地说,Array.filter
将循环遍历您的数组,并对每个元素运行回调:
- 如果返回true:元素包含在
结果
中 - 如果返回false:元素被过滤掉
let data = [
{pre_ref_fullname: "", pre_ref_position: "", pre_ref_phone: ""},
{pre_ref_fullname: "", pre_ref_position: "", pre_ref_phone: ""},
{pre_ref_fullname: "", pre_ref_position: "", pre_ref_phone: ""},
{pre_ref_fullname: "Name", pre_ref_position: "Job", pre_ref_phone: "Number"},
{pre_ref_fullname: "Name2", pre_ref_position: "Job2", pre_ref_phone: "Number2"}
];
let result = data.filter(function (item) {
for(key in item) {
if (item[key]) {
// Means one of the object keys have values, include it in the result
return true
}
}
})
console.log(result)
关于javascript - 如何使用jquery排除数组中的空值和键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56122100/