Javascript 下划线JSON-更改JSON数组中的值
我有一个来自服务器的json对象数组:Javascript 下划线JSON-更改JSON数组中的值,javascript,underscore.js,Javascript,Underscore.js,我有一个来自服务器的json对象数组: var a = [ {id:1,name:"Piano",class:"Instrument"}, {id:2,name:"Guitar",class:"null"}, {id:3,name:"null",class:"null"},.....] 使用下划线JS,是否可以循环遍历这些对象,并使用空字符串更改每个键中的每个“null”值“?使用*方法遍历集合及其对象,并用空字符串替换等于“null”的值。 因此,逻辑与您使用嵌套循环迭代二维数组的逻辑相同
var a = [
{id:1,name:"Piano",class:"Instrument"},
{id:2,name:"Guitar",class:"null"},
{id:3,name:"null",class:"null"},.....]
使用下划线JS,是否可以循环遍历这些对象,并使用空字符串更改每个键中的每个
“null”
值“
?使用*方法遍历集合及其对象,并用空字符串替换等于“null”的值。
因此,逻辑与您使用嵌套循环迭代二维数组的逻辑相同
*我不建议在这里使用.map()
,因为此方法将生成新的修改数组,我不知道您是否需要此方法,但如果需要,您也可以在映射函数中使用.each(obj)
映射数组
var-arr,
searchVal,
replaceVal;
arr=[
{id:1,名字:“钢琴”,班级:“乐器”},
{id:2,名称:“吉他”,类:“空”},
{id:3,名称:“null”,类:“null”}
];
searchVal=“null”;
replaceVal=“”;
_.每个(arr、功能(obj){
_.每个(对象、功能(值、键){
如果(值===searchVal){
obj[key]=replaceVal;
}
});
});
控制台日志(arr)代码>
使用*方法遍历集合及其对象,并用空字符串替换等于“null”的值。
因此,逻辑与您使用嵌套循环迭代二维数组的逻辑相同
*我不建议在这里使用.map()
,因为此方法将生成新的修改数组,我不知道您是否需要此方法,但如果需要,您也可以在映射函数中使用.each(obj)
映射数组
var-arr,
searchVal,
replaceVal;
arr=[
{id:1,名字:“钢琴”,班级:“乐器”},
{id:2,名称:“吉他”,类:“空”},
{id:3,名称:“null”,类:“null”}
];
searchVal=“null”;
replaceVal=“”;
_.每个(arr、功能(obj){
_.每个(对象、功能(值、键){
如果(值===searchVal){
obj[key]=replaceVal;
}
});
});
控制台日志(arr)代码>
使用*方法遍历集合及其对象,并用空字符串替换等于“null”的值。
因此,逻辑与您使用嵌套循环迭代二维数组的逻辑相同
*我不建议在这里使用.map()
,因为此方法将生成新的修改数组,我不知道您是否需要此方法,但如果需要,您也可以在映射函数中使用.each(obj)
映射数组
var-arr,
searchVal,
replaceVal;
arr=[
{id:1,名字:“钢琴”,班级:“乐器”},
{id:2,名称:“吉他”,类:“空”},
{id:3,名称:“null”,类:“null”}
];
searchVal=“null”;
replaceVal=“”;
_.每个(arr、功能(obj){
_.每个(对象、功能(值、键){
如果(值===searchVal){
obj[key]=replaceVal;
}
});
});
控制台日志(arr)代码>
使用*方法遍历集合及其对象,并用空字符串替换等于“null”的值。
因此,逻辑与您使用嵌套循环迭代二维数组的逻辑相同
*我不建议在这里使用.map()
,因为此方法将生成新的修改数组,我不知道您是否需要此方法,但如果需要,您也可以在映射函数中使用.each(obj)
映射数组
var-arr,
searchVal,
replaceVal;
arr=[
{id:1,名字:“钢琴”,班级:“乐器”},
{id:2,名称:“吉他”,类:“空”},
{id:3,名称:“null”,类:“null”}
];
searchVal=“null”;
replaceVal=“”;
_.每个(arr、功能(obj){
_.每个(对象、功能(值、键){
如果(值===searchVal){
obj[key]=replaceVal;
}
});
});
控制台日志(arr)代码>
您可以为JSON.parse创建一个自定义解析器,节省一些时间,而不必在从JSON字符串解析后遍历所有数据
函数customParser(键、值){
如果(value.name=='null'){
value.name='';
}
如果(value.class=='null'){
value.class='';
}
返回值;
}
var jsonText='[{“id”:1,“name”:“Piano”,“class”:“Instrument”},{“id”:2,“name”:“吉他”,“class”:“null”},{“id”:3,“name”:“null”,“class”:“null”}],
a=JSON.parse(jsonText,customParser);
document.body.appendChild(document.createTextNode(JSON.stringify(a))代码>在从JSON字符串解析后,不必循环遍历所有数据,只需为JSON.parse创建一个自定义解析器,即可节省一些时间
函数customParser(键、值){
如果(value.name=='null'){
value.name='';
}
如果(value.class=='null'){
value.class='';
}
返回值;
}
var jsonText='[{“id”:1,“name”:“Piano”,“class”:“Instrument”},{“id”:2,“name”:“吉他”,“class”:“null”},{“id”:3,“name”:“null”,“class”:“null”}],
a=JSON.parse(jsonText,customParser);
document.body.appendChild(document.createTextNode(JSON.stringify(a))代码>在从JSON字符串解析后,不必循环遍历所有数据,只需为JSON.parse创建一个自定义解析器,即可节省一些时间
函数customParser(键、值){
如果(value.name=='null'){
value.name='';
}
如果(value.class=='null'){
value.class='';
}
返回值;
}
var jsonText='[{“id”:1,“name”:“Piano”,“class”:“Instrument”},{“id”:2,“name”:“吉他”,“class”:“null”},{“id”:3,“name”:“null”,“class”:“null”}],
a=JSON.parse(jsonText,customParser);
document.body.appendChild(document.createTextNode(JSON.stringify(a))代码>在从JSON字符串解析后,不必循环遍历所有数据,只需为JSON.parse创建一个自定义解析器,即可节省一些时间
函数customParser(键、值){
如果(value.name=='null'){
value.name='';
}
如果(value.class=='null'){