javascript - 使用属性从数组中查找和更改对象的更好方法
问题描述
假设我有一个对象数组(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;
}
}
提前致谢
解决方案
您可以使用array#find
(文档)
Accounts.find(item => item.name === 'Salary AC').balance = 500
请记住,这find
将始终返回满足条件的第一个元素,因此如果您有多个同名帐户,则不能选择。在这种情况下,使用array#filter
并循环返回的数组。
推荐阅读
- javascript - 从父元素javascript中删除类
- c# - 系统范围的全局列表变量是否存在
- javascript - 打字稿问题:受限制的属性类型不兼容
- r - 更改字符串中间单个字符的大小写
- c++ - 如何确定为 boost::stacktrace::safe_dump_to 分配多少空间?
- java - 如何禁用启用与 IoT 中心的连接?
- symfony - 在 symfony 中添加普通文本类型字段(不是文本框)
- dataframe - 使用 pandas styler 将逐行彩色数据框导出到 excel
- python - 更新 Azure 核心工具后 Python Azure 函数因 AttributeError('__enter__') 失败
- authentication - 我可以从 Blazor 客户端中的 AuthenticationStateProvider 访问我的 ID 令牌吗?