Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下划线JSON-更改JSON数组中的值_Javascript_Underscore.js - Fatal编程技术网

Javascript 下划线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”的值。 因此,逻辑与您使用嵌套循环迭代二维数组的逻辑相同

我有一个来自服务器的json对象数组:

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'){