【问题标题】:Javascript Auto Increment ArrayJavascript自动增量数组
【发布时间】:2019-02-14 03:39:51
【问题描述】:

有没有像在 PHP 中那样自动增加 Javascript 数组的速记方法?

PHP 示例:

$myArray=[];
$myArray[] = [ 'item1' , 'item2' ];
$myArray[] = [ 'item3' , 'item4' ];

JS 示例:

let myArray = [];
myArray[ myArray.length ] = [ 'item1' , 'item2' ];
myArray[ myArray.length ] = [ 'item3' , 'item4 '];
//or
myArray.push( [ 'item1' , 'item2' ] );
myArray.push( [ 'item3' , 'item4' ] );

不使用 myArray.length 或 myArray.push()

【问题讨论】:

标签: javascript php auto-increment


【解决方案1】:

当然有办法做同样的事情;它甚至有类似的结构:

let arr = ['a', 'b'];
arr = arr.concat([['c', 'd']]);//['a', 'b', ['c', 'd']]

PHP:

<?php
$arr = ["a", "b"];
$arr[] = ["c", "d"];
print_r($arr);
?>

Array
(
    [0] => a
    [1] => b
    [2] => Array
        (
            [0] => c
            [1] => d
        )
)

【讨论】:

  • 不过,与 OP 的示例相比,这会产生不同的结果。这将创建一个一维数组,而 OP 的示例将创建一个多维数组。
【解决方案2】:

这是 ES6 的方式,使用扩展运算符

const arr1 = [1,2,3];
const arr2 = [3,4,5];
const arr3 = [...arr1, ...arr2]; // arr3 ==> [1,2,3,3,4,5]

只需使用concat 方法

const arr1 = [1,2,3];
const arr2 = [3,4,5];
const arr3 = arr1.concat(arr2); // arr3 ==> [1,2,3,3,4,5]

【讨论】:

    【解决方案3】:

    除了给定的答案之外,您还可以使用具有很大价值的 Array#splice 将值添加到数组的末尾。

    var array = [];
    
    array.splice(Infinity, 0, ...['item1', 'item2']);
    array.splice(Infinity, 0, ...['item3', 'item4']);
    
    console.log(array);

    【讨论】:

      猜你喜欢
      • 2015-04-29
      • 1970-01-01
      • 2018-10-30
      • 2021-06-07
      • 1970-01-01
      • 2014-07-25
      • 1970-01-01
      • 1970-01-01
      • 2014-01-31
      相关资源
      最近更新 更多