如何在JavaScript中比较对象的键?
我需要你的帮助: 我有一个包含对象的数组(数据):如何在JavaScript中比较对象的键?,javascript,arrays,object,Javascript,Arrays,Object,我需要你的帮助: 我有一个包含对象的数组(数据): var data = [ 0: Object { hex: "#ff847f", length: "20" } 1: Object { hex: "#afff90", length: "18" } 2: Object { hex: "#afff90", length: "40" } 3: Object { hex: "#6d91b0", length: "30" } 4: Object { hex: "#ff847f", length: "20
var data = [
0: Object { hex: "#ff847f", length: "20" }
1: Object { hex: "#afff90", length: "18" }
2: Object { hex: "#afff90", length: "40" }
3: Object { hex: "#6d91b0", length: "30" }
4: Object { hex: "#ff847f", length: "20" }
]
我需要一个函数,它将生成一个新数组,该数组只有唯一的十六进制值,并将相等十六进制值的长度值相加
结果应该如下所示:
var data2 = [
0: Object { hex: "#ff847f", length: "40" }
1: Object { hex: "#afff90", length: "58" }
2: Object { hex: "#6d91b0", length: "30" }
]
谢谢你的想法。这可能不是最好的解决方案,但它确实有效。具有挑战性的一点是,您希望将长度作为字符串而不是数字。这是我的解决方案,我希望它有帮助
const transformArray=(arr)=>{
//首先,您需要将长度转换为数字,以便于添加
arr.map((项目)=>{
item.length=编号(item.length)
})
//然后组合相似的对象
让输出=[];
arr.forEach((dataObj)=>{
让发现=错误;
for(设i=0;i{
item.length=item.length.toString();
})
返回输出;
}
可能的重复至少表明在我们做家庭作业之前,您试图编写JavaScript函数。抱歉,但我不知道。此外,没有人强迫您做我的“家庭作业”