替换数组中的对象而不将数组转换为字符串 javascript 应用程序脚本
replace an object in an array without convert array to string javascript app script
我正在使用应用程序脚本从 API 获取信息并将其用作 JSON。
var data = UrlFetchApp.fetch(***);
var obj = JSON.parse(data); // To JSON
Logger.log(typeof(obj)); // return type as object
return 数组示例 JSON:
var dataJson = [{age=20, gender=female, country=usa, name=sali, type=female},{age=25, gender=male, country=usa, name=john, type=female},{age=19, gender=female, country=usa, name=anita, type=female},{age=22, gender=male, country=usa, name=fredo, type=female}]
如果性别 = 女性,我想将国家/地区更改为英国。
如果 gender = male 将国家/地区更改为加拿大。
我希望在更新数组后保持类型为对象而不是字符串。
结果为:
[{age=20, gender=female, country=uk, name=sali, type=female},{age=25, gender=male, country=canada, name=john, type=female},{age=19, gender=female, country=uk, name=anita, type=female},{age=22, gender=male, country=canada, name=fredo, type=female}]
注意:not fixed中的数据是动态变化的。
你可以简单地映射它
var dataJson = [{age:20, gender:'female', country:'usa', name:'sali', type:'female'},{age:25, gender:'male', country:'usa', name:'john', type:'male'}]
const result = dataJson.map(({gender, ...rest}) => {
const isFemale = gender === 'female'
return {
...rest,
gender: isFemale? 'woman': 'man',
country: isFemale ?'uk': 'canada'
}
})
console.log(result)
您只是在寻找:
dataJson = dataJson.map(elem => {
if(elem.gender === 'female'){
elem.country = 'uk'
}
if(elem.gender === 'male'){
elem.country = 'canada'
}
return elem
})
我正在使用应用程序脚本从 API 获取信息并将其用作 JSON。
var data = UrlFetchApp.fetch(***);
var obj = JSON.parse(data); // To JSON
Logger.log(typeof(obj)); // return type as object
return 数组示例 JSON:
var dataJson = [{age=20, gender=female, country=usa, name=sali, type=female},{age=25, gender=male, country=usa, name=john, type=female},{age=19, gender=female, country=usa, name=anita, type=female},{age=22, gender=male, country=usa, name=fredo, type=female}]
如果性别 = 女性,我想将国家/地区更改为英国。 如果 gender = male 将国家/地区更改为加拿大。
我希望在更新数组后保持类型为对象而不是字符串。
结果为:
[{age=20, gender=female, country=uk, name=sali, type=female},{age=25, gender=male, country=canada, name=john, type=female},{age=19, gender=female, country=uk, name=anita, type=female},{age=22, gender=male, country=canada, name=fredo, type=female}]
注意:not fixed中的数据是动态变化的。
你可以简单地映射它
var dataJson = [{age:20, gender:'female', country:'usa', name:'sali', type:'female'},{age:25, gender:'male', country:'usa', name:'john', type:'male'}]
const result = dataJson.map(({gender, ...rest}) => {
const isFemale = gender === 'female'
return {
...rest,
gender: isFemale? 'woman': 'man',
country: isFemale ?'uk': 'canada'
}
})
console.log(result)
您只是在寻找:
dataJson = dataJson.map(elem => {
if(elem.gender === 'female'){
elem.country = 'uk'
}
if(elem.gender === 'male'){
elem.country = 'canada'
}
return elem
})