gpt4 book ai didi

javascript - 将项目添加到 JSON 对象

转载 作者:行者123 更新时间:2023-11-28 10:37:52 25 4
gpt4 key购买 nike

我正在使用 Promise 获取一个 JSON 对象:

var x = get();
x.done(function(data) {
for(var i in data) {

}
});

当我执行 console.log(data);

时返回此数据
[{…}]
0:
customer: "9028"
data:
active: "1"
customer: "9028"
description: ""
id: "13717"
inherited: "0"
name: "Out of Hours"
priority: "1"
shared: "0"
sound: ""
__proto__: Object
voip_seq: "4"
__proto__: Object
length: 1
__proto__: Array(0)

这样工作正常,但在我的 for 循环中,我想向 data 添加 2 个项目

我尝试将其添加到我的 .done

var obj = { name: "Light" };
data.push(obj);

但这并没有添加到数据

我的 for 循环如下所示:

                 for(var i in data) {
var m = '<option value="' + data[i].data.id + '"'
if(data[i].data.id == selected_val) {
m += ' selected="selected"';
}
m += '>' + data[i].data.name + '</option>';
$('#' + value_element_id).append(m);
}

最佳答案

如果您想在选择中添加两个以上的项目,您只需在循环开始之前将新对象推送到 data 数组中即可。这些对象必须包含与来自 Promise 的 JSON 匹配的结构和属性(“data”子属性中的“name”和“id”),以便您的循环代码可以处理它们。

在最简单的情况下,它可能像这样简单:

x.done(function(data) {
data.push({ "data": { "name": "light", "id": 1234 } });
data.push({ "data": { "name": "dark", "id": 5678 } });

for(var i in data) {
var m = '<option value="' + data[i].data.id + '"'
if (data[i].data.id == selected_val) {
m += ' selected="selected"';
}
m += '>' + data[i].data.name + '</option>';
$('#' + value_element_id).append(m);
}
});

演示:https://jsfiddle.net/a286b7fw/1/

关于javascript - 将项目添加到 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57959147/

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