1、截取数组前几个
let uniqueArr = [
{name: 'a',id: 1},
{name: 'a1',id: 2},
{name: 'a2',id: 3},
{name: 'a3',id: 4},
{name: 'a12',id: 5},
{name: 'a11',id: 6},
{name: 'a11q',id: 17},
{name: 'a1235',id: 18},
]
const resultList = uniqueArr.slice(0, 5)
console.log(resultList)
2、json 数组去重
let arr = [
{name: 'abc', id: 1231},
{name: 'abc1', id: 1232},
{name: 'abc2', id: 1233},
{name: 'abc22', id: 1234},
{name: 'abc', id: 1231}, // 重复的对象
{name: 'abc44', id: 1235},
];
// 创建一个Map来跟踪已经遇到的name和id的组合
let seen = new Map();
// 遍历数组,将不重复的对象放入新数组中
let uniqueArr = arr.reduce((accumulator, item) => {
// 使用name和id的组合作为Map的键
let key = `${item.name}_${item.id}`;
// 如果这个组合还没有在Map中,则添加到Map中,并将对象添加到累积数组中
if (!seen.has(key)) {
seen.set(key, true);
accumulator.push(item);
}
return accumulator;
}, []); // 初始的累积数组为空数组
console.log(uniqueArr);
let arr = [
{name: 'abc', id: 1231},
{name: 'abc1', id: 1232},
{name: 'abc2', id: 1233},
{name: 'abc22', id: 1234},
{name: 'abc', id: 1231}, // 重复的对象
{name: 'abc44', id: 1235},
];
// 创建一个Set来跟踪已经遇到的name和id的组合
let seen = new Set();
// 使用filter和Set来去除重复的对象
let uniqueArr = arr.filter(item => {
// 使用name和id的组合作为Set的键
let key = `${item.name}_${item.id}`;
// 如果这个组合还没有在Set中,则添加它并返回true(保留在结果数组中)
// 否则返回false(从结果数组中移除)
return !seen.has(key) && seen.add(key);
});
console.log(uniqueArr);
var arr1 = [
{name:'a',age:1},
{name:'aa',age:2},
{name:'aaa',age:3},
{name:'a',age:1},
{name:'aa',age:2}
];
var obj = {};
var newArr = arr1.reduce((total,current)=>{
obj[current.name]?"":obj[current.name] = true && total.push(current);
return total;
},[]);
console.log(newArr);
var arr = [2, 3, 4, 5, 5, 4, 3, 2, 1];
var arr2 =[...new Set(arr)];
console.log(arr2);//[2, 3, 4, 5, 1]
3、对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
var arr = [1,3,5,7,9,11];
var arr2 = arr.map((item,index)=>{
return item+=2
});
console.log(arr2);//[3, 5, 7, 9, 11, 13]
4、过滤 ,数组中的每一项运行给定函数,返回满足过滤条件组成的数组
var arr = [1,3,5,7,9,11];
var arr2 = arr.filter((item,index)=>{
return item%3 == 0
});
console.log(arr2);//[3, 9]
5、 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true
var arr = [1,3,5,7,9,11];
var tOrf = arr.every(item=>{
return item > 2
});
var tOrf1 = arr.every(item=>{
return item < 12
});
console.log(tOrf);//false
console.log(tOrf1);// true
6、判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true
var arr = [1,3,5,7,9,11];
var tOrf = arr.some(item=>{
return item > 10
});
var tOrf1 = arr.some(item=>{
return item < 0
});
console.log(tOrf);// true
console.log(tOrf1);// false