我正在尝试使用javascript在数组中添加元素,但是我不能添加多个元素,例如
var myArr = [];
function Items(content) {
myArr.push(content);
}
Items("item1", "item2", "item3");
或类似的东西
var myArr = [];
function Items(content){
for(var i=0;i<myArr.length;i++){
myArr.push(content);
}
}
Items("item1","item2","item3");
它返回空。
如何使用函数使用javascript在数组中添加元素?
答案 0 :(得分:1)
您的第一个示例就目前而言是正确的,但是由于要传递多个参数,因此需要声明多个参数以接收它们并使用它们:
var myArr = [];
function Items(item1, item2, item3) { // *** Note parameters
myArr.push(item1, item2, item3); // *** Using them
}
Items("item1", "item2", "item3");
console.log(myArr);
或者,您可以传入一个数组:
var myArr = [];
function Items(items) {
// ES2015+ spread notation
myArr.push(...items);
// Or ES5 and earlier:
// myArr.push.apply(myArr, items);
}
Items(["item1", "item2", "item3"]);
// ^-------------------------^---- note passing in an array
console.log(myArr);
有关点差符号here的更多信息。
如果您想接受任意长度的离散参数,请在ES2015 +中使用rest parameter:
var myArr = [];
function Items(...items) {
myArr.push(...items);
}
Items("item1", "item2", "item3");
console.log(myArr);
在ES5和更低版本中,您将使用arguments
:
var myArr = [];
function Items() {
myArr.push.apply(myArr, arguments);
}
Items("item1", "item2", "item3");
console.log(myArr);
答案 1 :(得分:1)
您只需要推送代表content
的第一个参数"item1"
,则需要传递所有参数(可以使用保留关键字arguments
来访问所有传递的参数),如果您使用的是ES6,则可以只使用myArr.push(...arguments)
,否则,可以使用以下代码:
var myArr = [];
function Items(){
myArr.push.apply(myArr, arguments);
}
Items("item1","item2","item3");
console.log(myArr);