在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 是一个数组——如果它还没有的话。