angular - 如何以角度对数组的重复元素进行分组
问题描述
我想将重复的元素分组为单独的对象数组,请帮助我
前任:
array = [{key: 1}, {key: 5}, {key: 1}, {key: 3}, {key: 5}, {key: 1}, {key: 3}, {key: 2}, {key: 1}, {key: 4}];
预期的 O/P:
newArrayObj = {[{key: 1}, {key: 1}, {key: 1}, {key: 1}], [{key: 3}, {key: 3}], [{key: 4}], [{key: 5}, {key: 5}] }
解决方案
~ 比@ShayD 快 80% 答案:
let array = [
{ key: 1 },
{ key: 5 },
{ key: 1 },
{ key: 3 },
{ key: 5 },
{ key: 1 },
{ key: 3 },
{ key: 2 },
{ key: 1 },
{ key: 4 }
];
let x = [];
for (let i = 0; i < array.length; ) {
const obj = array[i];
const filtered = array.filter(filterObj => obj.key == filterObj.key);
array = array.filter(filterObj => obj.key != filterObj.key);
x.push(filtered);
}
document.querySelector("#output").innerText = JSON.stringify(x);
<p id="output"></p>
推荐阅读
- javascript - 使用 vue.js 编辑文本后如何提交和修改数据库中的文本?
- python - 在 Pandas 中格式化电话号码
- python - web3.exceptions.ContractLogicError:执行恢复:UniswapV2Router:INSUFFICIENT_A_AMOUNT
- oracle - 从 PySpark 3.1.2 连接 Oracle DB - Py4JJavaError 失败
- javascript - Slick Slider:没有足够的幻灯片滚动
- visual-studio-code - 如何在 Visual Studio Code 中更改块光标下字母的字体颜色?
- vue.js - VueJS + Vue 测试工具 + Jes ;无法读取未定义的属性“令牌”
- amcharts - Amcharts V4 使用 valueYShow 以百分比而不是绝对值绘制图表
- python - 检查随机变量是否是独立的 Python
- flutter - 预期类型为“imageProvider”的值