在PHP中,我会做这样的事情:
$array = array();
$array[] = "value1";
$array[] = "value2";
$array[] = "value3";
我该如何在JavaScript中实现相同的操作?
$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');
会创建一个看起来像这样的对象:
{
0: 'value',
length: 1
}
你可以像访问普通数组一样访问值,例如 obj[0]
。
$()
返回的,这正是它的工作方式。 - Russ Cam[]
代替 new Array()
,使用 {}
代替 new Object()
,您觉得怎样? - Jamesvar a = [];
或者:
var a = ['value1', 'value2', 'value3'];
要在现有数组的末尾添加值:
a.push('value4');
创建新数组,应该使用[]
而不是new Array()
,原因如下:
new Array(1, 2)
等同于 [1, 2]
,但是new Array(1)
并不等同于[1]
。相反,它更接近于[undefined]
,因为传递给Array
构造函数的单个整数参数表示所需的数组长度。Array
,就像任何其他内置JavaScript类一样,不是关键字。因此,有人可以在您的代码中定义Array
以执行除构造数组之外的其他操作。[]
代替 new Array()
。 - BalusC数组是JavaScript的本地对象,为什么不直接尝试使用其API呢?只要熟悉API就可以在切换到纯JavaScript或另一个框架时节省时间。
有许多不同的可能性,因此,请使用最适合您需求的方法。
创建带值的数组:
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";
或者使用splice函数
array.splice(index, 0, "value1", "value2", "value3");
选择您需要的一个。
有几种方法:
实例化数组:
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
向数组中添加元素:
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()
是向数组添加元素更好的方法,因为您不需要知道已经有多少个元素,并且可以在一个函数调用中添加许多元素。
.push()
。var primates = new Array();
primates.push('monkey');
primates.push('chimp');
确实,你必须初始化你的数组,然后立即使用array.push()命令行。
var array = new Array();
array.push("first value");
array.push("second value");
array = ["value1", "value2", "value3"]
它更多地是JavaScript而不是jQuery。
jQuery 是 JavaScript 的抽象。将 jQuery 视为 JavaScript 的子集,旨在处理 DOM。话虽如此;有添加项目到集合的功能。不过在您的情况下,我会使用基本的 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");
array
变量初始化为一个Array
对象,否则它将是undefined
,无法对其使用push
。 - Ionuț G. Stanvar array = [];
进行数组初始化。 - cllpsepush
观察结果。我不知怎么混淆了第一个和第三个例子。 - Ionuț G. Stan