Ruby => Javascript翻译

前端之家收集整理的这篇文章主要介绍了Ruby => Javascript翻译前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好奇……你怎么用JS写这个 Ruby
Array.new(3,Array.new(3,0))

返回

[[0,0],[0,0]]

我尝试过各种各样的东西,但它们看起来都很混乱.我想有些东西不能像Ruby一样干净,但你会怎么做呢?

也许我会学习一两个JS技巧;)

编辑
据透露,这个Ruby代码实际上并没有创建3个数组.它创建了1个数组,其他引用.这不是意图.我正在寻找一种方法来轻松地映射具有X个元素的2维数组,以及JS中的Y个嵌套元素.

还……这是一个人为的例子.内涵是能够用任何数字代替3.这只是一个使用3的例子.

解决方法

您可以像这样定义它:
var arr = [[0,0]];

基本上你是明确定义它.但是,此数组包含对三个不同数组的引用(总共4个).要使其行为像ruby,您需要创建一个模仿此行为的函数

function arr(size,element) {
   var ret = [];

   for(var i = 0; i < size; i++) {
       ret.push(element);
   }

   return ret;      
}

然后你可以这样做:

var myArray = arr(3,arr(3,0)); //myArray contains [[0,0]]

这更像是你在ruby中看到的行为,因为数组中的每个元素都是对同一个数组的引用(总共只有两个数组).您可以通过执行myArray [0] [1] = 2来验证这一点;然后检查myArray.您应该看到myArray中每个数组中的第二个元素设置为2.

猜你在找的Ruby相关文章