Javascript Ruby 的 map-like 方法

标签 javascript arrays

JavaScript 中是否有 Ruby 的类映射语法?例如在 Ruby 中我可以这样写:

res = [[1,2,3],[4,5,6],[7,8,9]]
res = res.map { |x| x[1..2] } 
# res == [[2, 3], [5, 6], [8, 9]]

JavaScript 中有没有像这样工作的函数?

最佳答案

您可以查看 Underscore.js Map 辅助函数(还有 MapObject 辅助函数,类似于 map,但适用于对象): http://underscorejs.org/#map

_.map([1, 2, 3], function(num){ return num * 3; });
=> [3, 6, 9]
_.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; });
=> [3, 6, 9]
_.map([[1, 2], [3, 4]], _.first);
=> [1, 3]

否则,您可以尝试 ES6 map 对象:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

var kvArray = [["key1", "value1"], ["key2", "value2"]];

// Use the regular Map constructor to transform a 2D key-value Array into a map
var myMap = new Map(kvArray);

myMap.get("key1"); // returns "value1"

// Use the spread operator to transform a map into a 2D key-value Array.
alert(uneval([...myMap])); // Will show you exactly the same Array as kvArray

// Or use the spread operator on the keys or values iterator to get 
// an array of only the keys or values
alert(uneval([...myMap.keys()])); // Will show ["key1", "key2"]

如果您决定使用 ES6,您还需要一个转译器,例如 Babel。

希望对您有所帮助。

关于Javascript Ruby 的 map-like 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29277431/

相关文章:

javascript - 将 blob 文件发送到服务器

JavaScript:如何将具有嵌套数组的对象映射到 React 表

Javascript - 添加到数组的问题

php - 将 MySQL 查询中的多个列值存储到 PHP 数组中

c++ - 将手动编写的数组分配给之前创建的变量

javascript - 无法通过 Google 脚本更改数字单元格的值

javascript - 解析一串 CSS 声明并将其转换为数组

javascript - Node js 如果条件不能正常工作

ios - Swift/Xcode 纯值类型数组泄漏

javascript - 使用拆分时是否可以为字符串数组赋值?