如何使用JavaScript或jQuery更改数组内部对象的值?

下面的代码来自jQuery UI Autocomplete:

var projects = [

{

value: "jquery",

label: "jQuery",

desc: "the write less, do more, JavaScript library",

icon: "jquery_32x32.png"

},

{

value: "jquery-ui",

label: "jQuery UI",

desc: "the official user interface library for jQuery",

icon: "jqueryui_32x32.png"

},

{

value: "sizzlejs",

label: "Sizzle JS",

desc: "a pure-JavaScript CSS selector engine",

icon: "sizzlejs_32x32.png"

}

];

例如,我想更改 的 。我怎样才能做到这一点?

此外,是否有更快的方法来获取数据?我的意思是给对象命名以获取其数据,就像数组中的对象一样?所以这就像jquery-ui.jquery-ui.desc =

....

回答:

您必须像这样在数组中搜索:

function changeDesc( value, desc ) {

for (var i in projects) {

if (projects[i].value == value) {

projects[i].desc = desc;

break; //Stop this loop, we found it!

}

}

}

并像这样使用

var projects = [ ... ];

changeDesc ( 'jquery-ui', 'new description' );

为了更快地获得它:

var projects = {

jqueryUi : {

value: 'lol1',

desc: 'lol2'

}

};

projects.jqueryUi.desc = 'new string';

(根据Frédéric的评论,您不应在对象键中使用连字符,否则应使用“ jquery-ui”和projects [“ jquery-ui”]表示法。)

以上是 如何使用JavaScript或jQuery更改数组内部对象的值? 的全部内容, 来源链接: utcz.com/qa/429666.html

回到顶部