使用lodash替换数组

And*_*rle 5 javascript underscore.js lodash

有没有一种简单的方法可以将数组中基元的所有外观替换为另一个基元.所以这['a', 'b', 'a', 'c']将成为['x', 'b', 'x', 'c']更换时ax.我知道这可以通过map函数完成,但我想知道是否忽略了一种更简单的方法.

Ben*_*aum 10

在您的示例所具有的字符串的特定情况下,您可以使用以下内容进行本机操作:

myArr.join(",").replace(/a/g,"x").split(",");
Run Code Online (Sandbox Code Playgroud)

其中","是一些未出现在数组中的字符串.

也就是说,我没有看到问题_.map- 这听起来像是更好的方法,因为这实际上就是你正在做的事情.您将数组映射到自身并替换了值.

_.map(myArr,function(el){
     return (el==='a') ? 'x' : el;
})
Run Code Online (Sandbox Code Playgroud)

  • 问题是关于原始而不仅仅是字符串.另外我想使用lodash,因为这将是更长链中的一步,其中操作数组数据. (2认同)
  • _.map 非常适合这个用例,不需要寻找其他任何东西。 (2认同)