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.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...