我尝试了以下代码。 学生由一系列对象组成。 当我在学生内部添加新的对象数组时,应以表格格式显示。
var newArraypush = [{
Id: 1010,
Name : "herfr",
Course : "Aeronautical Engineering",
Age : 65,
Gender: "Male"
},
{
Id: 1011,
Name : "rfrsfd",
Course : "ISIS",
Age : 40,
Gender: "Male"
}];
this.students.push(newArraypush);
实际输出:-
0: {Id: 1005, Name: "ggtge", Course: "M.Phil", Age: 34, Gender: "Male"}
1: Array(2)
0: {Id: 1010, Name: "herfr", Course: "Aeronautical Engineering",
Age: 65, Gender: "Male"}
1: {Id: 1011, Name: "rfrsfd", Course: "IIT", Age: 50, Gender:
"Male"
预期输出:- console.log(学生);
0: {Id: 1005, Name: "ggtge", Course: "M.Phil", Age: 34, Gender: "Male"}
1: {Id: 1010, Name: "herfr", Course: "Aeronautical Engineering",
Age: 65, Gender: "Male"}
2: {Id: 1011, Name: "rfrsfd", Course: "IIT", Age: 50, Gender:
"Male"
答案 0 :(得分:0)
Array.push只是向数组添加一个新元素。在您的示例中,您尝试合并两个数组。基于Array.push的定义不能直接执行。 在es6中有许多合并数组的方法。
第一个使用Array.push,但是必须将数组的元素作为参数。
this.students.push([...newArraypush]);
第二种方法是使用concat
this.students = this.students.concat(newArraypush);
最后一个就是这样
this.students = [...this.students, ...newArraypush];
此方法已在ES6中声明,要了解此类型,您需要了解以下内容
我们知道,this.students表示基于您的示例的任何数组
如果我们使用[... this.students],则表示学生数组的对象。
然后,通过第三种方式,我们创建一个新数组,其中包含studens数组的元素和newArraypush的元素,并将其均衡为学生数组。
例如:
const a = [1,2,3];
const b = [4,5,6];
const c = [...a, ...b];
console.log(c) -> [1,2,3,4,5,6]
const d = [...a, ...b, 7,8,9,10];
console.log(d) -> [1,2,3,4,5,6,7,8,9,10];