js数组相同数据分组
时间: 2023-08-29 17:02:50 浏览: 105
实现JS数组相同数据分组可以按照以下步骤进行:
1. 遍历原始数组,使用一个空对象或Map来存储每个元素对应的分组数组。假设我们将元素作为key,分组数组作为value。
2. 在遍历过程中,判断当前元素是否已经存在于分组的对象中。
3. 如果不存在,将当前元素作为key,创建一个新的数组作为value,并将当前元素添加到该数组中。
4. 如果已经存在,根据当前元素获取对应的分组数组,然后将当前元素添加到该数组中。
5. 最后,将所有的分组数组提取出来,作为最终的结果返回。
以下是一个示例代码:
```javascript
function groupArray(arr) {
var groups = {};
for (var i = 0; i < arr.length; i++) {
var currentElement = arr[i];
if (groups.hasOwnProperty(currentElement)) {
groups[currentElement].push(currentElement);
} else {
groups[currentElement] = [currentElement];
}
}
var result = [];
for (var key in groups) {
result.push(groups[key]);
}
return result;
}
var arr = [1, 2, 3, 2, 4, 1, 5, 4, 6];
var groupedArray = groupArray(arr);
console.log(groupedArray);
```
上述代码中,我们使用了一个空对象`groups`来存储每个元素对应的分组数组。遍历原始数组时,判断当前元素是否已经存在于`groups`对象中,如果存在,则将当前元素添加到对应分组数组中;如果不存在,则创建一个新的数组,并将当前元素作为key,该数组作为value。最后,将所有的分组数组提取出来,作为最终的结果返回。
以上就是用300字中文回答JS数组相同数据分组的方法。
阅读全文