javascript - 更改对象数组中的特定字段值 Angular 4

标签 javascript angular

我有这样的类(class)

class security
{
 public id:number;
 public name:string;
}

然后我有一个安全数组,如下

let s:security[]=[{id:1,name:'Alex'},{id:2,name:'John'},{id:3,name:'Philip'},{id:4,name:'Mark'},{id:5,name:'Thomas'}];

因此,如果我传递值 0,函数会将数组的所有名称更改为空字符串。如果我传递一个 ID,则名称应仅针对该特定 ID 进行更改。

我尝试的是

var id=1;
let s2:security[]=s.find(x=>x.id==id);

然后我必须循环 s2 并更改值。但我想对于这两种情况,而不是循环,我们可以更改所有类似 linq 中的 select 方法的内容

那么我们如何在不使用循环的情况下更改所有对象或选定对象的对象数组值

最佳答案

find 不返回数组,因此 s2 是一个对象。你可以这样做:

s2.name = '';

但是,如果您需要更改所有值(在 vanilla js 中),则必须对数组进行交互。

s.forEach(item => item.name = '');

关于javascript - 更改对象数组中的特定字段值 Angular 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48439831/

相关文章:

javascript - react : How to pass an argument to a parent component

javascript - new Boolean(name) 始终返回 true

javascript - Chrome PDF 查看器下载按钮在 window.open() 选项卡上不起作用

javascript - 如何用javascript提取HTML表单数据?

Angular 2 将服务注入(inject)动态组件

Angular 6 与 AWS ElasticSearch 连接

javascript - 从 Angular 4 HTTP 调用获取完整响应(不仅仅是正文)

javascript - 向下滚动后将 div 固定在顶部?

angular - 具有多个 Angular 2 模块的 webpack

javascript - 具有特定参数的 Angular 路由匹配 url