[英]Array.push() not working return null array after push
I am using Vue project to my mini search system and its database is firebase.我在我的迷你搜索系统中使用 Vue 项目,它的数据库是 firebase。 I would like to know if these is a language error or its library error.
我想知道这些是语言错误还是库错误。 where the Array.push() is not working properly.
Array.push() 无法正常工作的地方。
I could show only screen shot because it could not show in other reproduction when I reproduce the code.我只能显示屏幕截图,因为当我重现代码时它无法在其他重现中显示。
let trainVal1 = []
for(let n in dataTrainingVal) {
console.log({key: n, ...dataTrainingVal[n]})
trainVal1.push({key: n, ...dataTrainingVal[n]})
console.log(trainVal1)
}
thanks!谢谢!
Just create a object for the {key: n, ...dataTrainingVal[n]}
like var obj = {key: n, ...dataTrainingVal[n]}
.只需为
{key: n, ...dataTrainingVal[n]}
创建一个对象,如var obj = {key: n, ...dataTrainingVal[n]}
。 Then push it.然后推一下。
var trainVal1 = []
for(let n in dataTrainingVal) {
var obj = {key: n, ...dataTrainingVal[n]}
trainVal1.push(obj)
console.log(trainVal1)
}
try also var insted of let也尝试var insted of let
you should change your code like below你应该像下面一样改变你的代码
let trainVal1 = []
for(let n = 0; n < dataTrainingVal.length; n++) {
console.log({key: n, data:dataTrainingVal[n]})
trainVal1.push({key: n, data:dataTrainingVal[n]})
console.log(trainVal1)
}
The error is on the spread operator section.错误出现在扩展运算符部分。 I have updated your code to a working solution.
我已将您的代码更新为有效的解决方案。
let trainVal1 = [] let dataTrainingVal = [1,2,3] for(let n in dataTrainingVal) { console.log(dataTrainingVal[n]) trainVal1.push({key: n, val: dataTrainingVal[n]}) console.log(trainVal1) }
Please note: Do not use for in loop for array iterations.请注意:不要在循环中使用 for 数组迭代。
Note: for...in should not be used to iterate over an Array where the index order is important.
注意:for...in 不应用于迭代索引顺序很重要的数组。 Read More on MDN
阅读更多关于 MDN
It seems to work fine... the only missing piece is defining dataTrainingVal.它似乎工作正常......唯一缺少的部分是定义 dataTrainingVal。
let trainVal = []
let dataTrainingVal = {firstname: 'Pedro', lastName: 'Juan'}
for(let n in dataTrainingVal) {
console.log({key: n, ...dataTrainingVal[n]})
trainVal.push({key: n, ...dataTrainingVal[n]})
console.log(trainVal)
}
The o/p : o/p :
(2) [{…}, {…}] (2) [{…}, {…}]
0: {0: "P", 1: "e", 2: "d", 3: "r", 4: "o", key: "firstname"} 0: {0: "P", 1: "e", 2: "d", 3: "r", 4: "o", key: "firstname"}
1: {0: "J", 1: "u", 2: "a", 3: "n", key: "lastName"} 1: {0: "J", 1: "u", 2: "a", 3: "n", key: "lastName"}
length: 2长度:2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.