我在JavaScript中创建多维数组时遇到问题。

PHP代码如下所示:

<?php
$matches = array(1, 2, 3, 4, 4, 4, 6, 6, 2, 3);

foreach($matches as $match) {

     $levels[$match][] = $match;
}

print_r($levels);
?>

$ levels的print_r:
levels[1][0] = 1
levels[2][0] = 2
levels[3][0] = 3
levels[4][0] = 4
levels[4][1] = 4
levels[4][2] = 4
levels[6][0] = 6
levels[6][1] = 6
levels[2][1] = 2
levels[3][1] = 3

我在JavaScript中创建相同数组时遇到问题。
<script>
var levels = [];

$([1, 2, 3, 4, 4, 4, 6, 6, 2, 3]).each(function(key, value) {

     levels[value][] = value;
});
</script>

有人可以帮我用JavaScript创建相同的数组吗?

最佳答案

如果没有数组,JavaScript不会神奇地创建数组。您必须自己创建它。所以这就像

$([1, 2, 3, 4, 4, 4, 6, 6, 2, 3]).each(function(key, value) {
    if (levels[value] == null) {
        levels[value] = [];
    }
    levels[value].push(value);
});

Learn more about arrays

关于javascript - JavaScript等同于PHP $ array [$ i] [],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27440475/

10-09 02:17