我喜欢这样的课程
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
中的选择方法那么我们如何更改所有对象的对象数组值或不使用循环
进行选择答案 0 :(得分:1)
find
不返回数组,因此s2
是一个对象。你可以这么做:
s2.name = '';
但是,如果您需要更改所有值(在vanilla js中),则必须对数组进行交互。
s.forEach(item => item.name = '');
答案 1 :(得分:0)
在没有循环的情况下,无法对数组的多个元素(在您的情况下为对象数组)执行操作。作为建议,如果你不使用任何库,你可以使用javascript代替循环。
for (var security of s) {
console.log(security);
// do your operation here
}