// 例如此例子。找到该数组里面对象拥有相同name的对象索引,以及值
const objs = [
{ name: "1", age: 12 },
{ name: "2", age: 12 },
{ name: "3", age: 12 },
{ name: "1", age: 12 },
{ name: "1", age: 12 },
{ name: "7", age: 12 },
{ name: "1", age: 12 },
];
const arr = [];
objs.map((s) => { // 把要比较的数据单独抽离出来。方便看
arr.push(s.name);
});
const res = [];
arr.map((i, index) => { // 这里是核心,通过双层循环。比较有没有重复的项
arr.map((p, ind) => {
if (p === i && ind !== index) { // 找到重复的项,并排除掉自身的索引
res.push(ind);
}
});
});
let result = Array.from(new Set(res)); // 数组去重方法
console.log(result); //[3, 4, 6, 0] // 这里就得到重复项的索引位置
const finallys = result.map((l) => {
return objs[l];
});
console.log(finallys); // [{…}, {…}, {…}, {…}] // 这里得到重复的具体的所有项值
js查找数组对象中有相同属性和值的数据项
于 2023-12-13 18:06:29 首次发布