8

在 PHP 中,我可以向数组中添加一个值,如下所示:

array[]=1;
array[]=2;

输出将是0=>'1', 1=>'2';

如果我在 javascript 中尝试相同的代码,它会返回Uncaught SyntaxError: Unexpected string。那么,在 JS 中有什么方法可以像 PHP 一样工作吗?谢谢

4

5 回答 5

15

只需Array.push在 javascript 中使用

var arr = [1,2,3,4];

// append a single value
arr.push(5);  // arr = [1,2,3,4,5]

// append multiple values
arr.push(1,2) // arr = [1,2,3,4,5,1,2]

// append multiple values as array
Array.prototype.push.apply(arr, [3,4,5]); // arr = [1,2,3,4,5,1,2,3,4,5]

MDN 上的 Array.push

于 2013-01-28T06:46:23.673 回答
4

以编程方式,您只需“推送”数组中的一个项目:

var arr = [];

arr.push("a");
arr.push("b");

arr[0]; // "a";
arr[1]; // "b"

不能做你建议的事情:

arr[] = 1

不是有效的JavaScript。

于 2013-01-28T06:49:07.923 回答
1

对于特殊情况,您可以使用 next(不带 .push()):

var arr = [];
arr[arr.length] = 'foo';
arr[arr.length] = 'bar';

console.log(arr); // ["foo", "bar"]
于 2017-10-24T04:44:56.417 回答
0

来自w3schools

<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];

function myFunction()
{
fruits.push("Kiwi")
var x=document.getElementById("demo");
x.innerHTML=fruits;
}
</script>
于 2013-01-28T06:47:23.010 回答
0

我想找到一种方法来将值作为数组元素添加到变量或属性中,而这种方法尚不存在。(很像 php 的 $var[] = 'foo'。)所以我四处打听,这就是我学到的。

多变的:

var arr;
(arr = arr || []).push('foo');

财产:

var obj = {};
(obj.arr = obj.arr || []).push('foo');

|| 如果为真则返回左边,如果左边为假则返回右边。到 .push() 执行时, arr 是一个数组——如果它还没有的话。

于 2017-02-25T08:22:22.290 回答