ES6实现数组去重 & 组成ids参数-js从数组中的对象取出特定字段
1、ES6实现数组去重
Set :可以接收一个数组或者是类数组对象,自动去重。
Array.from:把类数组对象、可迭代对象转化为数组。
代码
var str = ['2021','2021',2021,2021,NaN,NaN,null,null,undefined,undefined];
console.log(new Set(str)); // {'2021', 2021, NaN, null, undefined}
console.log(...new Set(str)); // 2021 2021 NaN null undefined
console.log(Array.from(new Set(str))); // ['2021', 2021, NaN, null, undefined]
注:
向 Set 加入值的时候,不会发生类型转换,所以2011
和"2011"
是两个不同的值。
2.1、js从数组中的对象取出特定字段并生成新的数组 ids=[1,2,3]
let arr = [
{
'id': 1,
'name': '小红',
},
{
'id': 2,
'name': '小明',
},
{
'id': 3,
'name': '小强',
}
];
// 使用map()生成数组
let new_arr = arr.map(obj => {return obj.name})
console.log(new_arr);// 输出 ['小红','小明','小强']
let new_id = arr.map(obj => {return obj.id})
console.log(new_id);// 输出 [1,2,3]
2.2、js从数组中的对象取出特定字段并生成新的数组 ids=“1,2,3”
let ary = [
{
'id': 1,
'name': '小红',
},
{
'id': 2,
'name': '小明',
},
{
'id': 3,
'name': '小强',
}
];
let ids = "";
ary.forEach((el) => {
ids += el.id + ",";
});
ids = ids.substr(0, ids.length - 1);
console.log(ids); // 输出 "1,2,3"