在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");