【问题标题】:How to change swap (change) 0 to 1 in JavaScript array如何在 JavaScript 数组中将交换(更改)0 更改为 1
【发布时间】:2020-05-25 23:41:08
【问题描述】:

有没有更好的方法可以在 JavaScript 中的数组中将 0 转换为 1,反之亦然,而不是使用 for 循环并按照here 的描述进行转换,即:

var variable1 = [0,1,1,0,0];
var final = []

for (var i=0; i<variable1.length; i++) {
final[i] = 1-variable1[i] 
}
//1,0,0,1,1

类似于 Python 的东西:

[1-i for i in variable1]
# [1,0,0,1,1]

谢谢。

【问题讨论】:

  • 感谢你们所有人,我会接受你们所有我不能接受的答案,所以我至少给了你们间接的功劳。我接受了包含所有答案的那个,以便其他人更容易。

标签: javascript


【解决方案1】:

如果你可以创建一个新数组,我会改用.map

var variable1 = [0,1,1,0,0];

const final = variable1.map(n => 1 - n);
console.log(final);

【讨论】:

  • 我会将newArr 重命名为final 以与问题保持一致。
【解决方案2】:

您可以使用map 来缩短语法。

final = variable.map(num => 1^num)

var variable = [0,1,1,0,0];
var final1 = variable.map(num => 1-num) // way one
var final2 = variable.map(num => 1^num) // way two
console.log(final1, final2)

【讨论】:

    【解决方案3】:

    var variable1 = [0,1,1,0,0];
    
    var final = variable1.map(v => v ^ 1);
    
    console.log(final);

    它也在循环。但我认为这段代码更具可读性。

    【讨论】:

      猜你喜欢
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      相关资源
      最近更新 更多