Add new value to an existing array in JavaScript
本问题已经有最佳答案,请猛点这里访问。
在php中,我会做如下操作:
1 2 3 4 | $array = array(); $array[] ="value1"; $array[] ="value2"; $array[] ="value3"; |
我如何在javascript中执行相同的操作?
您不需要jquery。使用常规的javascript
1 2 3 4 | var arr = new Array(); // or var arr = []; arr.push('value1'); arr.push('value2'); |
注意:在JavaScript中,您也可以将对象用作数组,但仍然可以访问数组原型。这使对象的行为类似于数组:
1 2 | var obj = new Object(); Array.prototype.push.call(obj, 'value'); |
将创建一个如下所示的对象:
1 2 3 4 | { 0: 'value', length: 1 } |
您可以像普通数组f.ex
这与jquery无关,只是一般的javascript。
要在javascript中创建数组,请执行以下操作:
1 | var a = []; |
或:
1 | var a = ['value1', 'value2', 'value3']; |
要在现有数组的结尾追加值,请执行以下操作:
1 | a.push('value4'); |
为了创建一个新的数组,您应该使用
new Array(1, 2) 相当于[1, 2] ,但new Array(1) 不相当于[1] 。相反,后者更接近于[undefined] ,因为Array 构造函数的单个整数参数指示所需的数组长度。- 与其他任何内置的javascript类一样,
Array 不是关键字。因此,有人可以很容易地在代码中定义Array ,以执行除构造数组之外的其他操作。
数组是一个javascript本地对象,为什么不尝试使用它的API呢?单独了解API将节省您切换到纯JavaScript或其他框架的时间。
有许多不同的可能性,所以,使用一个主要针对你的需要。
使用值创建数组:
1 | var array = ["value1","value2","value3"]; |
在末尾添加值
1 2 3 4 | var array = []; array.push("value1"); array.push("value2"); array.push("value3"); |
开始添加值:
1 2 3 4 | var array = []; array.unshift("value1"); array.unshift("value2"); array.unshift("value3"); |
在某个索引处添加值:
1 2 | var array = []; array[index] ="value1"; |
或者使用拼接
1 | array.splice(index, 0,"value1","value2","value3"); |
选择一个你需要的。
有几种方法:
实例化数组:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var arr; arr = new Array(); // empty array // --- arr = []; // empty array // --- arr = new Array(3); alert(arr.length); // 3 alert(arr[0]); // undefined // --- arr = [3]; alert(arr.length); // 1 alert(arr[0]); // 3 |
推到阵列:
1 2 3 4 5 6 7 8 9 10 11 | arr = [3]; // arr == [3] arr[1] = 4; // arr == [3, 4] arr[2] = 5; // arr == [3, 4, 5] arr[4] = 7; // arr == [3, 4, 5, undefined, 7] // --- arr = [3]; arr.push(4); // arr == [3, 4] arr.push(5); // arr == [3, 4, 5] arr.push(6, 7, 8); // arr == [3, 4, 5, 6, 7, 8] |
使用
您可以使用
例如
1 2 3 | var primates = new Array(); primates.push('monkey'); primates.push('chimp'); |
实际上,必须先初始化数组,然后在初始化后使用array.push()命令行。
1 2 3 | var array = new Array(); array.push("first value"); array.push("second value"); |
1 | array = ["value1","value2","value3"] |
它不像javascript那么多jquery
jquery是JavaScript的抽象。把jquery想象成一个子集javascript,目的是使用DOM。也就是说,有向集合添加项的函数。不过,在您的案例中,我将使用基本的javascript:
1 2 3 4 5 | var array; array[0] ="value1"; array[1] ="value2"; array[2] ="value3"; |
…或:
1 | var array = ["value1","value2","value3"]; |
…或:
1 2 3 4 5 | var array = []; array.push("value1"); array.push("value2"); array.push("value3"); |