Appearance
统计对象数组中指定属性值重复的位置
语法
js
import { countObjDuplicatePositions } from 'warbler-js';
const result = countObjDuplicatePositions(arr, key);
参数
arr
(Array) : 需要统计重复元素位置的数组。key
(String) : 需要统计重复元素位置的属性值。
返回值
Object : 指定的属性值及其重复的位置。
源码
js
const countObjDuplicatePositions = (arr, key) => {
const result = {};
arr.forEach((obj, index) => {
const value = obj[key];
if (result[value]) {
result[value].push(index);
} else {
result[value] = [index];
}
});
return result;
};
例子
js
import { countObjDuplicatePositions } from 'warbler-js';
const fruits = [
{ name: 'Grapes', quantity: 2 },
{ name: 'Bananas', quantity: 5 },
{ name: 'Apples', quantity: 10 },
{ name: 'Grapes', quantity: 4 },
{ name: 'Grapes', quantity: 6 },
{ name: 'Bananas', quantity: 5 },
];
const duplicatePositions = countObjDuplicatePositions(fruits, 'name');
console.log(duplicatePositions);
// 输出以下内容
{
"Grapes": [
0,
3,
4
],
"Bananas": [
1,
5
],
"Apples": [
2
]
}
添加版本
1.2.1