以下のコードは 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 の desc 値を変更したいのですが、どうすればいいでしょうか?
さらに、データを取得するより速い方法はありますか?つまり、配列内のオブジェクトと同じように、オブジェクトに名前を付けてデータを取得するということですか?つまり、次のようなものになります。jquery-ui.jquery-ui.desc = ....
ベストアンサー1
それはとても簡単です
- メソッドを使用してオブジェクトのインデックスを見つけます
findIndex
。 - インデックスを変数に格納します。
- 次のような簡単な更新を実行します。
yourArray[indexThatyouFind]
//Initailize array of objects.
let myArray = [
{id: 0, name: "Jhon"},
{id: 1, name: "Sara"},
{id: 2, name: "Domnic"},
{id: 3, name: "Bravo"}
],
//Find index of specific object using findIndex method.
objIndex = myArray.findIndex(obj => obj.id == 1);
//Log object to Console.
console.log("Before update: ", myArray[objIndex])
//Update object's name property.
myArray[objIndex].name = "Laila"
//Log object to console again.
console.log("After update: ", myArray[objIndex])