gpt4 book ai didi

javascript - 在 JSON 数组中添加新对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:55:33 25 4
gpt4 key购买 nike

我正在使用 javascript 和 JSON。我有一个像这样的 JSON 对象:

{"firstName":"John", "lastName":"Doe", "id":"1"}

在我的例子中,我有一个这样的函数:

function addNewValues(jsonArray, firstName, lastName, id)

如果“firstName”不匹配,我应该在数组中创建一个新值。

来自

addNewValues({"firstName":"John", "lastName":"Doe", "id":"1"}, "Jane", 
"Doe", "2");

它应该返回:

[
{"firstName":"John", "lastName":"Doe", "id":"1"},
{"firstName":"Jane", "lastName":"Doe", "id":"2"}
]

如何添加这个新职位?我试过 myObj.push({"firstName":firstName, "lastName":lastName });没有任何成功。

提前致谢。

最佳答案

如果你的 json 是一个字符串,你必须用 JSON.parse 解析它,如果不是,则将它放入数组中。

var array = [];

// with push
function addNewValues(firstName, lastname, id) {
// check if firstName already exists
if(array.filter(function(x) { return x.firstName===firstName; }).length===0) {
array.push({
'firstName': firstName,
'lastName': lastname,
'id': id
});
}
}

// with concat
// I would suggest you to use this method
function addNewValues1(arr, firstName, lastname, id) {
if(arr.filter(function(x) { return x.firstName===firstName; }).length===0) {
return arr.concat([{
'firstName': firstName,
'lastName': lastname,
'id': id
}]);
}
return arr;
}

addNewValues("Jahn", "Doe", "1");
addNewValues("Jane", "Doe", "2");
console.log(array);

// with concat
array = addNewValues1(array, "Foo", "Bar", "3");
console.log(addNewValues1(array, "Foo1", "Bar1", "4"));
console.log(array);

关于javascript - 在 JSON 数组中添加新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45010852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com