【发布时间】:2013-11-08 13:17:14
【问题描述】:
有没有一种简单的方法可以将数组中一个基元的所有外观替换为另一个。这样['a', 'b', 'a', 'c'] 将在将a 替换为x 时变为['x', 'b', 'x', 'c']。我知道这可以通过 map 函数来完成,但我想知道是否忽略了一种更简单的方法。
【问题讨论】:
-
我认为像 Lo-Dash 这样的库的目的不是让你写出你能写出的最符合代码的解决方案,而是写出最自然、最惯用的解决方案。在这种情况下,还有什么比
map()更自然和惯用的呢?这是完成这项工作的完美工具。 -
@Tomalak
_(array).filter('someKey').replace('a', 'x')在我看来很自然 -
但这不合逻辑——我希望名为“filter”的操作可以减少输入中的元素数量。另外:这与外观无关。这是关于您要对数据执行的 操作,对我来说,这是“映射 N 个值的列表和 N 个值的列表(其中一些偶然恰好与输入相同) )"。
-
使用 Lodash 中的 findIndex 然后替换找到的索引处的元素
标签: javascript underscore.js lodash