gpt4 book ai didi

javascript - 比较并添加一行代码?

转载 作者:行者123 更新时间:2023-12-03 07:16:39 24 4
gpt4 key购买 nike

给定一个数组
[9,5,4,2,1,1,5,8,1,1]

有没有办法删除所有 1 并在末尾添加等量的 x。为了得到这个
[9,5,4,2,5,8,x,x,x,x]

我正在寻找一种在一行中完成此操作的方法。好奇这里是否有我可能遗漏的技术,或者可能没有。

在下面的示例中,我对 this 的使用显然是错误的。但是让您了解我正在尝试做什么。

let test = [9,5,4,2,1,1,5,8,1,1];

console.log(test.map(el => el !== 1 ?el :this.push('x'));

最佳答案

使用filter()fill()

let test = [9, 5, 4, 2, 1, 1, 5, 8, 1, 1];

let res = test.filter(el => el !== 1)

res = res.concat(Array(test.length - res.length).fill('x'))

console.log(res);

使用reduce()

let test = [9, 5, 4, 2, 1, 1, 5, 8, 1, 1];

let res = test.reduceRight((a, e) => e !== 1 ? [e, ...a] : [...a, 'x'], [])

console.log(res);

关于javascript - 比较并添加一行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62216642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com