我希望循环通过一个对象,并对数据进行一些更改。我不是100%如果我实际上处理一个对象或一个数组包含多个对象,所以任何帮助都很感激。
下面是我的目标:
var screening = {
source: "jacket",
value: {
Cyan: {
dotshape: "C",
frequency: 120,
angle: 67.5
},
Magenta: {
dotshape: "C",
frequency: 120,
angle: 37.5
},
Yellow: {
dotshape: "C",
frequency: 120,
angle: 82.5
},
"PANTONE 3528 C": {
dotshape: "C",
frequency: 120,
angle: 7.5
},
"PANTONE 293 C": {
dotshape: "C",
frequency: 120,
angle: 7.5
},
"PANTONE 2748 C": {
dotshape: "C",
frequency: 120,
angle: 7.5
},
Varnish: {
dotshape: "C",
frequency: 120,
angle: 0
}
}
}
Old = [Cyan, Magenta, Yellow]
new = [changedName1, changedName2, changedName3]
提前致谢
使用delete
删除旧属性,并使用[]
(方括号表示法)和indexof
获取旧属性并创建新属性:
js lang-js prettyprint-override">var screening = {
source: "jacket",
value: {
Cyan: {
dotshape: "C",
frequency: 120,
angle: 67.5
},
Magenta: {
dotshape: "C",
frequency: 120,
angle: 37.5
},
Yellow: {
dotshape: "C",
frequency: 120,
angle: 82.5
},
"PANTONE 3528 C": {
dotshape: "C",
frequency: 120,
angle: 7.5
},
"PANTONE 293 C": {
dotshape: "C",
frequency: 120,
angle: 7.5
},
"PANTONE 2748 C": {
dotshape: "C",
frequency: 120,
angle: 7.5
},
Varnish: {
dotshape: "C",
frequency: 120,
angle: 0
}
}
};
function oldToNew(oldNames, newNames) {
Object.entries(screening.value).forEach(([key, prop]) => {
if (oldNames.includes(key)) {
screening.value[newNames[oldNames.indexOf(key)]] = screening.value[key];
delete screening.value[key];
}
});
}
oldToNew(["Cyan", "Magenta", "Yellow"], ["Blue", "Purple", "Orange"]);
console.log(screening.value);
我有一个数组。如何按类型、名称和大小以及递增量找到双重许可。增加数量后删除相同的。
如何在两个属性之后对对象数组进行分组?在以下情况下是否可以使用减少? 例如:按国家和城市将以下数组分组,并对“年龄”属性求和: /*预期结果:*/
问题内容: 我有一个包含我的对象的数组。每个人都有财产。 有没有比我的数组中找到重复的帖子ID的更有效方法? 问题答案: 我将建议2解决方案。 两种方法都必须是平等的 使帖子符合可哈希和平等 在这里,我假设您的struct(或类)具有type 的属性。 解决方案1(丢失原始订单) 要删除重复的内容,您可以使用 解决方案2(保留订单)
我有这个初始数组,希望根据和提取重复航班 我写了这个,但我只能得到第一个重复的,看起来不是很漂亮。 有什么建议吗?
现在我有了新阵列 现在,现有的_array和新的_array都有名称值“b”,我希望它从新数组中移除
我有一个收藏,存储一些产品的文档。在文档中,有一个数组来存储用户对产品的价格评估对象。 下面是一个用户对象的示例: app.js