在JavaScript中为现有数组添加新值

在PHP中,我会做这样的事情:

$array = array(); $array[] = "value1"; $array[] = "value2"; $array[] = "value3"; 

我将如何在JavaScript中做同样的事情?

你不需要jQuery。 使用正则的JavaScript

 var arr = new Array(); // or var arr = []; arr.push('value1'); arr.push('value2'); 

注意:在JavaScript中,您也可以使用对象作为数组,但仍然可以访问数组原型。 这使得对象像一个数组:

 var obj = new Object(); Array.prototype.push.call(obj, 'value'); 

将创build一个如下所示的对象:

 { 0: 'value', length: 1 } 

你可以像普通数组f.ex obj[0]一样访问这个值。

这与jQuery无关,只是一般的JavaScript。

在JavaScript中创build一个数组:

 var a = []; 

要么:

 var a = ['value1', 'value2', 'value3']; 

在现有数组末尾附加值:

 a.push('value4'); 

要创build一个新的数组,你应该使用[]而不是new Array() ,原因如下:

  • new Array(1, 2)相当于[1, 2] ,但new Array(1) 等于[1] 。 而后者更接近[undefined] ,因为Array构造函数的单个整数参数指示所需的数组长度。
  • Array ,就像任何其他内置JavaScript类一样,不是关键字。 因此,有人可以很容易地在你的代码中定义Array ,来完成除了构造数组以外的其他function

数组是一个JavaScript本地对象,为什么不尝试使用它的API? 了解自己的API将节省您的时间,当你将切换到纯JavaScript或其他框架。

有许多不同的可能性,所以,使用主要针对您的需求。

使用值创build数组:

 var array = ["value1", "value2", "value3"]; 

将值添加到最后

 var array = []; array.push("value1"); array.push("value2"); array.push("value3"); 

为开始添加值:

 var array = []; array.unshift("value1"); array.unshift("value2"); array.unshift("value3"); 

在某些索引处添加值:

 var array = []; array[index] = "value1"; 

或通过使用拼接

 array.splice(index, 0, "value1", "value2", "value3"); 

select一个你需要的。

您可以使用.push()方法(这是标准的JavaScript)

例如

 var primates = new Array(); primates.push('monkey'); primates.push('chimp'); 

有几种方法:

实例化数组:

 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 

推入arrays:

 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] 

使用.push()是添加到数组的更好的方法,因为您不需要知道已经有多less项目,并且可以在一个函数调用中添加多个项目。

 array = ["value1", "value2", "value3"] 

它不像JavaScript那么多jquery

事实上,你必须初始化你的数组,然后使用array.push()命令行。

 var array = new Array(); array.push("first value"); array.push("second value"); 

jQuery是JavaScript的抽象。 把jQuery看作是JavaScript的一个子集,旨在与DOM协同工作。 话虽如此; 有添加项目到一个集合的function。 我会在你的情况下使用基本的JavaScript:

 var array; array[0] = "value1"; array[1] = "value2"; array[2] = "value3"; 

… 要么:

 var array = ["value1", "value2", "value3"]; 

… 要么:

 var array = []; array.push("value1"); array.push("value2"); array.push("value3");