【问题标题】:Translating Python loop to Javascript [closed]将 Python 循环翻译成 Javascript [关闭]
【发布时间】:2023-01-24 01:43:34
【问题描述】:

给定这个 Python 示例,如何在 Javascript 中产生相同的输出?

我想遍历一个数组并检查一个值,如果满足条件,则存储它。

arr1 = [ 0,  0,  0,  0,  0,  0,  0,  0,  0,  7,  7,  0,  0,  0,  0,  0,  0,  0,
        13, 13,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13,  0,  0,  0,  0,  0,  0,
         0,  0,  0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 14,  0,  0,
         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,
         0,  0]

new_labels = []
previous = None
for l in arr1:
    if l != previous:
        new_labels.append(l)
        previous = l

# expected: 
[0, 7, 0, 13, 0, 13, 0, 15, 0, 14, 0, 2, 0]

【问题讨论】:

标签: javascript python


【解决方案1】:

使用Array#filter 可以更简单地完成此操作。

let arr1 = [ 0,  0,  0,  0,  0,  0,  0,  0,  0,  7,  7,  0,  0,  0,  0,  0,  0,  0,13, 13,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13,  0,  0,  0,  0,  0,  0,0,  0,  0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 14,  0,  0,0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,0,  0];
let res = arr1.filter((x, i) => x !== arr1[i - 1]);
console.log(JSON.stringify(res));

【讨论】:

  • 如果索引 0 处的值碰巧未定义,将会失败,但我想这不会发生在这里。
猜你喜欢
  • 2022-06-14
  • 2020-04-17
  • 2017-11-07
  • 2011-12-08
  • 2021-11-22
  • 2014-08-13
  • 1970-01-01
  • 2018-09-09
  • 1970-01-01
相关资源
最近更新 更多