假设我有一个数组(Accounts[]
)的对象,其类定义为:
export const AccountSchema = {
name: ACCOUNT_SCHEMA,
primaryKey: 'id',
properties: {
id: 'int', // primary key
name: { type: 'string', indexed: true },
type: 'string',
balance: 'int',
note:'string',
creationDate: 'date',
}
};
现在,例如,我知道一个帐户名Salary AC
,我想更改此帐户的balance
。
例如,我想在JavaScript中使用下面的代码(一些更好或最好的方式)。
在下面的代码中使用==
表示equality
& :
表示assignment
for(var i=0; i<Accounts.length; i++) {
if (Accounts[i].name == 'Salary AC') {
Accounts[i].balance: 500;
}
}
提前致谢
答案 0 :(得分:1)
您可以使用array#find
(docs)
Accounts.find(item => item.name === 'Salary AC').balance = 500
请注意,find
将始终返回满足条件的第一个元素,因此如果您有多个具有相同名称的帐户,则它不会是一个选项。在这种情况下,使用array#filter
并循环返回的数组。