javascript 可以在不指定 PHP 等键的情况下将元素添加到数组吗?

Posted

技术标签:

【中文标题】javascript 可以在不指定 PHP 等键的情况下将元素添加到数组吗?【英文标题】:Can javascript add element to an array without specifiy the key like PHP? 【发布时间】:2013-01-11 11:31:24 【问题描述】:

php 中,我可以像这样向数组添加一个值:

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

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

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

【问题讨论】:

您可以使用array.push 将元素推送到数组上而不指定索引 见this 哦,你的意思是如果有一个相当于 PHP 的 javascript array_push ;) 【参考方案1】:

只需在 javascript 中使用Array.push

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]

Array.push on MDN

【讨论】:

【参考方案2】:

来自w3schools

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

function myFunction()

fruits.push("Kiwi")
var x=document.getElementById("demo");
x.innerhtml=fruits;

</script>

【讨论】:

【参考方案3】:

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

var arr = [];

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

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

不能按照你的建议去做:

arr[] = 1

不是有效的 JavaScript。

【讨论】:

PHP 数组函数和速记技巧在 javascript 中绝对毁了我。【参考方案4】:

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

变量:

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

属性:

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

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

【讨论】:

【参考方案5】:

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

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

console.log(arr); // ["foo", "bar"]

【讨论】:

以上是关于javascript 可以在不指定 PHP 等键的情况下将元素添加到数组吗?的主要内容,如果未能解决你的问题,请参考以下文章

问题集合

如何在不明确指定主键的情况下使用 Dapper Extensions 将对象插入 PostGreSql?

数字电视的遥控器上有F1F2F3F4等键,并标以黄绿红等不同的色,这些键是啥作用的?

在不知道确切行键的情况下在 Bigtable 中查找最新时间戳

如何在javascript中完全获取带有重复键的JSON

Linux普通用户不能使用TAB键上下键