相关疑难解决方法(0)

如何在JavaScript中创建二维数组?

我一直在网上阅读,有些地方说这是不可能的,有人说它是,然后给出一个例子,其他人反驳这个例子,等等.

  1. 如何在JavaScript中声明二维数组?(假设有可能)

  2. 我如何访问其成员?(myArray[0][1]myArray[0,1]?)

javascript arrays multidimensional-array

1081
推荐指数
33
解决办法
193万
查看次数

为什么JavaScript中的[5,6,8,7] [1,2] = 8?

我无法绕过这个怪癖.

[1,2,3,4,5,6][1,2,3]; // 4
[1,2,3,4,5,6][1,2]; // 3
Run Code Online (Sandbox Code Playgroud)

我知道[1,2,3] + [1,2] = "1,2,31,2",但我找不到正在执行的类型或操作.

javascript

277
推荐指数
3
解决办法
2万
查看次数

逗号在JavaScript表达式中做了什么?

如果我使用:

1.09 * 1; // returns "1.09"
Run Code Online (Sandbox Code Playgroud)

但如果我使用:

1,09 * 1; // returns "9"
Run Code Online (Sandbox Code Playgroud)

我知道1,09不是一个数字.

逗号在最后一段代码中做了什么?

更多例子

if (0,9) alert("ok"); // alert
if (9,0) alert("ok"); // don't alert
Run Code Online (Sandbox Code Playgroud)
alert(1); alert(2); alert(3); // 3 alerts
alert(1), alert(2), alert(3); // 3 alerts too
Run Code Online (Sandbox Code Playgroud)
alert("2",
    foo = function (param) {
        alert(param)
    },
    foo('1')
)
foo('3'); // alerts 1, 2 and 3
Run Code Online (Sandbox Code Playgroud)

javascript comma-operator

81
推荐指数
2
解决办法
9504
查看次数

javascript - 创建简单动态数组

什么是动态创建这个简单数组的最有效方法.

var arr = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
Run Code Online (Sandbox Code Playgroud)

假设我们可以从变量得到数字10

var mynumber = 10;
Run Code Online (Sandbox Code Playgroud)

javascript

24
推荐指数
4
解决办法
15万
查看次数

在JavaScript中初始化二维数组

我想创建一个二维数组,用布尔值初始化,设置为false.目前我正在使用这种数组创建方法:

const rows = 3
const cols = 5

const nestedArray = new Array(rows).fill(
    new Array(cols).fill(false)
)
Run Code Online (Sandbox Code Playgroud)

nestedArray看起来不错,但只要我改变的值nestedArray[0][2],值nestedArray[1][2],并nestedArray[2][2]也得到改变.

我想这是因为子数组是相同的,可能是因为它们通过引用而不是通过值填充到父数组中.

相反,创建一组不相同的子阵列的优雅而有效的方法是什么?

javascript arrays

4
推荐指数
2
解决办法
1089
查看次数

js - 声明多维数组+推送键和值

这里究竟错在哪里?我收到“无法读取未定义的属性‘推送’”错误,我相信这是因为无法通过在循环中简单地声明数组来将其设置为多维。

var single = [];
for (var i = 0; i < all.length; i++) {
    name = all[i].name;
    single[name].push(all[i]);
}
Run Code Online (Sandbox Code Playgroud)

我想要实现的是这种结构:

Array (
([name1] => [node1],[node2],[node3]),
([name2] => [node1],[node2],[node3],[node4],[node5],[node6]),
([name2] => [node1],[node2])
etc...
)
Run Code Online (Sandbox Code Playgroud)

我试过在这里搜索 SO,但到目前为止只有两个选择:

选项 1:声明变量的简写,又名 [[]],它不起作用。

var single = [[]];
Run Code Online (Sandbox Code Playgroud)

选项 2链接添加另一个循环以在填充之前计算出数组。

var matrix = []
cols = 3;
//init the grid matrix
for ( var i = 0; i < cols; i++ ) {
 matrix[i] = []; 
}
Run Code Online (Sandbox Code Playgroud)

我宁愿找到一个更短的解决方案,也因为我的数组元素必须有键,而在上面的解决方案中,它们被编号。

编辑:由于 JS …

javascript arrays for-loop push multidimensional-array

2
推荐指数
1
解决办法
3722
查看次数