Javascript 无法更新循环中的json值
我正在编写一个js代码,其中需要根据另一个JSON的条件更新1个JSON。这是我的密码Javascript 无法更新循环中的json值,javascript,json,Javascript,Json,我正在编写一个js代码,其中需要根据另一个JSON的条件更新1个JSON。这是我的密码 var a=[{ “a”:“未启动” }, { “b”:“未启动” }, { “c”:“未启动” }, { “d”:“未启动” }, { “e”:“未启动” }]; 变量b=[{ “Id”:1, “阶段”:“c” }]; a、 forEach((obj)=>{ for(Object.entries(a))的常量[key,value]{ a、 值='complete' 如果(键==b[0]。阶段) 打破 }
var a=[{
“a”:“未启动”
}, {
“b”:“未启动”
}, {
“c”:“未启动”
}, {
“d”:“未启动”
}, {
“e”:“未启动”
}];
变量b=[{
“Id”:1,
“阶段”:“c”
}];
a、 forEach((obj)=>{
for(Object.entries(a))的常量[key,value]{
a、 值='complete'
如果(键==b[0]。阶段)
打破
}
});
控制台日志(a)代码>
var a=[{
“a”:“未启动”
}, {
“b”:“未启动”
}, {
“c”:“未启动”
}, {
“d”:“未启动”
}, {
“e”:“未启动”
}];
变量b=[{
“Id”:1,
“阶段”:“c”
}];
var idx=a.findIndex(x=>Object.keys(x)[0]==b[0].Stage);
对于(var i=0;i如果对象的键是字母字符(假设您提供的示例不是泛化的),您可以使用字符代码的顺序:
const a=[{
“a”:“未启动”
}, {
“b”:“未启动”
}, {
“c”:“未启动”
}, {
“d”:“未启动”
}, {
“e”:“未启动”
}];
常数b=[{
“Id”:1,
“阶段”:“c”
}];
对于(a的obj){
常量键=对象键(obj)[0]
if(key.charCodeAt(0)更通用的解决方案,如果b
可以包含多个元素:
var a=[{
“a”:“未启动”
}, {
“b”:“未启动”
}, {
“c”:“未启动”
}, {
“d”:“未启动”
}, {
“e”:“未启动”
}];
变量b=[{
“Id”:1,
“阶段”:“b”
}, {
“Id”:2,
“阶段”:“c”
}];
const currStage=b.sort((a,b)=>b[“Id”]-a[“Id”])[0][“Stage”]
a=a.map(e=>{
常量[[字母,状态]]=对象项(e)
const inStage=letter.charCodeAt(0)1.a是一个数组而不是一个对象,因此a.2没有任何条目。a.value也是如此(即使引用obj,它也应该是obj[key]而不是obj.value。3.array.forEach通常不会修改数组,而是有一个array.map()为此。嘿@Ran Turner。这就是我要找的。非常感谢,伙计。你非常欢迎我的朋友。如果可能的话,我会感谢你的支持(:是的,伙计。完成了