【发布时间】:2020-04-11 07:40:37
【问题描述】:
我想在某些条件下更改属性的值,如下面的代码中所述,但我不想用于循环。我认为 .map() 可能很有用,但我不知道如何。 这是(工作)示例代码:
class Replace {
constructor(){
this.Numbers = [
{number:'1', feature:'A'},
{number:'2', feature:'B'},
{number:'2', feature:'C'},
{number:'3', feature:'D'},
]
}
ReplaceNumbersWithWords (){
for(this.i=0;this.i<this.Numbers.length;this.i++)
if(this.Numbers[this.i].number==='1'){
this.Numbers[this.i].number='one'
}
else if (this.Numbers[this.i].number==='2'){
this.Numbers[this.i].number='two'
}
else if (this.Numbers[this.i].number==='3'){
this.Numbers[this.i].number='three'
}
console.log(this.Numbers)
}
}
const replace = new Replace()
replace.ReplaceNumbersWithWords()
如您所见,我想更改数组“this.Numbers”中每个对象的属性“number”,如何以最有效的方式(不使用 for 循环)?
输出必须是:
[
{ number: 'one', feature: 'A' },
{ number: 'two', feature: 'B' },
{ number: 'two', feature: 'C' },
{ number: 'three', feature: 'D' }
]
【问题讨论】:
标签: javascript arrays class array.prototype.map