gpt4 book ai didi

javascript - 如何向对象数组添加新元素?

转载 作者:行者123 更新时间:2023-12-01 02:04:08 25 4
gpt4 key购买 nike

我想向我的对象数组添加一个新元素。任意整数 x 的每个数组元素 list[x] 都是以下形式的对象:

{
name: "insert-name",
value: "insert-value"
}

有人告诉我,要将元素添加到数组中,我必须使用 push() 函数。这就是我所做的:

exports.handle = function(input) {
for(var i=0; i<cc.list.length; i++) {
if(input == cc.list[i].name) {
return cc.list[i].value;
}
}

if(input.startsWith("create-cc")) {
var namevalue = input.slice(10, input.length);
var spaceloc = namevalue.indexOf(" ");
var nname = namevalue.slice(0, spaceloc);
var nvalue = namevalue.slice(spaceloc+1, namevalue.length);

cc.list.push({
name: nname,
value: nvalue
});

return "Command successfully created! Typing `Z!" + name +"` will output `" + value +"` now!" ;
}

return "Error.";

};

cc.list 是此模块 .js 文件中数组的名称。我使用要填充的用户输入作为要添加到列表中的新数组元素的名称和值。但是我在控制台上收到一个错误,它告诉我:

ReferenceError: name is not defined

这完全有道理,因为我没有声明这样的参数。但是该参数不是已经作为形成数组元​​素的"template"对象的一部分存在了吗?为什么这个方法不起作用呢?如何将新的数组对象元素附加到该数组中?

最佳答案

问题出在这一行:

return "Command successfully created! Typing `Z!" + name +"` will output `" + value +"` now!" ;

它正在使用名为name的变量,但是不存在这样的变量,因此出现错误ReferenceError:name is not Defined

您对value犯了同样的错误,没有使用该名称定义变量。

但是,您确实有名为 nnamenvalue 的变量,所以也许这就是您打算编写的内容:

return "Command successfully created! Typing `Z!" + nname +"` will output `" + nvalue +"` now!" ;

关于javascript - 如何向对象数组添加新元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50257910/

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