我有这样的类(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/