gpt4 book ai didi

javascript - 使用字符串访问 JSON 或 JS 属性

转载 作者:可可西里 更新时间:2023-11-01 02:16:56 25 4
gpt4 key购买 nike

我有一个像这样的 JSON 数组:

_htaItems = [
{"ID":1,
"parentColumnSortID":"0",
"description":"Precondition",
"columnSortID":"1",
"itemType":0},
{"ID":2,
"parentColumnSortID":"0",
"description":"Precondition",
"columnSortID":"1",
"itemType":0}]

我想通过将 ID、列名和新值传递给函数来更新它:

    function updateJSON(ID, columnName, newValue)
{
var i = 0;
for (i = 0; i < _htaItems.length; i++)
{
if (_htaItems[i].ID == ID)
{
?????
}
}
}

我的问题是,如何更新值?我知道我可以执行以下操作:

 _htaItems[x].description = 'New Value'

但在我看来,列名是作为字符串传递的。

最佳答案

在 JavaScript 中,您可以使用文字表示法访问对象属性:

the.answer = 42;

或者用括号表示法使用字符串作为属性名称:

the["answer"] = 42;

这两个语句完全做同样的事情,但是对于第二个语句,由于括号中的是一个字符串,它可以是解析为字符串的任何表达式(或可以强制为一个)。所以所有这些都做同样的事情:

x = "answer";
the[x] = 42;

x = "ans";
y = "wer";
the[x + y] = 42;

function foo() {
return "answer";
}
the[foo()] = 42;

...就是将对象theanswer属性设置为42

因此,如果您的示例中的 description 不能是文字,因为它是从其他地方传递给您的,您可以使用括号表示法:

s = "description";
_htaItems[x][s] = 'New Value';

关于javascript - 使用字符串访问 JSON 或 JS 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027051/

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