javascript - Arr.push 在 For 循环内
问题描述
我有一个用 Vue 构建的 SPA,我正在尝试从自定义 API 中获取一组项目。
一旦我存储了我试图遍历该数组并推入自定义路径值的项目,但是我得到了错误
this.list[i].push 不是函数
我不确定为什么这是不可能的,但我确定我错过了一些东西。
this.list: []
fetch(){
let url = 'http://core.com/api/v0/sources/'
axios.get(url).then((response) => {
this.list = response.data.data
for(var i = 0; i < this.list.length; i++){
let arr = { path: '/testPath' }
this.list[i].push(arr)
}
})
}
解决方案
在您提到您的目标的评论中:
“this.list[i].path 不存在,这就是我试图创建的”
...如果你真的想在 this.list[i] 的对象下直接添加一个名为“path”的属性,那么你会写
this.list[i].path = '/testPath'
这将为持有的对象创建一个新属性this.list[i]
。
附言
你根本不需要你的(名字不好的)arr
变量。
使用.push()
没有任何意义(也不起作用),因为this.list[i]
它包含一个对象而不是一个数组,而且这样做也不会创建你想要的属性。
推荐阅读
- python - 分成行数大致相等的组,并用平均值绘制条形图
- usort - 排序很慢
- javascript - 如何在 URL 中合并常量所以它不会破坏 url
- html - 如何将子 div 放在父 div 的中间?
- python - 试图从某个网站上获取产品价格以用于竞争对手分析(与工作无关)
- c# - 在 HttpClient 中使用 socks4/5 代理?
- ios - 存档后不存在 Xcode/Fastlane 环境变量
- amazon-web-services - AWS Datasync S3 -> S3 跨账户,对目标角色/账户感到困惑
- r - gganimate 具有相同 x 值的多个点
- google-sheets-formula - 您能否在给定费用、费用和利润率的情况下使用 Google 表格公式生成作业成本?