javascript 可以在不指定键的情况下将元素添加到数组中,例如 PHP


Can javascript add element to an array without specifiy the key like PHP?

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

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

并且输出将0=>'1', 1=>'2';

如果我在javascript中尝试相同的代码,它会返回未捕获的语法错误:意外的字符串。那么,JS中有什么方法可以像PHP一样工作吗?谢谢

只需在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

以编程方式,您只需"推送"数组中的项目:

var arr = [];
arr.push("a");
arr.push("b");
arr[0]; // "a";
arr[1]; // "b"

不能按照您的建议进行操作:

arr[] = 1

不是有效的 JavaScript。

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

var arr = [];
arr[arr.length] = 'foo';
arr[arr.length] = 'bar';
console.log(arr); // ["foo", "bar"]

来自 w3schools

<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
function myFunction()
{
fruits.push("Kiwi")
var x=document.getElementById("demo");
x.innerHTML=fruits;
}
</script>
我想

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

变量:

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

财产:

var obj = {};
(obj.arr = obj.arr || []).push('foo');
|| 如果为真,则返回左侧,如果

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