【问题标题】:Push Json Data as individual Objects not as one long Array将 Json 数据作为单个对象而不是一个长数组推送
【发布时间】:2015-05-05 19:25:34
【问题描述】:

我正在尝试将 API 中的数据推送到对象数组中。

我想要

myFXdata {[ccypair], [resistance], [support], [trend.src]},
         {[ccypair], [resistance], [support], [trend.src]},
         {[ccypair], [resistance], [support], [trend.src]},
         {[ccypair], [resistance], ...etc},

但我明白了

myFXdata {[ccypair], [resistance], [support], [trend.src],
         [ccypair], [resistance], [support], [trend.src],
         [ccypair], [resistance], [support], [trend.src],
         [ccypair], [resistance], ...etc}

我的代码是

 var myFXdata = [];
 
 for (var i = 0; i < collection.length; i++){
    
    myFXData.push((collection[i].ccyPair),   (collection[i].resistance), (collection[i].support), (collection[i].trend.src));  
         }

    console.log(dailyfxTech)

我想我每次都需要推入一个新对象,但是

     myFXData.push({collection[i].ccyPair});

给出错误

SyntaxError: Unexpected token '['. Expected a ':' following the property name 'collection'.

有什么想法吗?

【问题讨论】:

  • 请问你能在 jsfiddle 中提供演示吗?

标签: javascript arrays json


【解决方案1】:

你说你想要的输出是不可能的,因为它不是一个有效的 js 对象:

{[ccypair], [resistance], [support], [trend.src]}

sn-p 告诉我的是,您希望得到一个对象数组,其中每个对象包含 4 个属性,没有键,它们本身就是数组。那只是没有多大意义,js中的对象需要key

你的 sn-p 应该看起来像

{'pair': ccypair, 'resistance': resistance, 'support': support, 'src': trend.src}

如果数组适合您的情况,您也可以这样做:

[ccypair, resistance, support, trend.src]

根据您选择的格式,将它们推送到您的数组应该很容易

myFXData.push({
    pair: collection[i].ccyPair, 
    collection: collection[i].resistance, 
    support: collection[i].support, 
    src: collection[i].trend.src
});

myFXData.push([
    collection[i].ccyPair, 
    collection[i].resistance, 
    collection[i].support, 
    collection[i].trend.src
]);  

因此,在第一种情况下,您将得到一个对象数组,而在第二种情况下,您将得到一个数组数组,或者称为二维数组。

我希望这一切都有意义。如果没有,请随时询问。

【讨论】:

  • 太棒了,谢谢。我对对象和数组感到困惑,但你的第一个案例正是我想要的。再次感谢。
猜你喜欢
  • 2015-09-05
  • 1970-01-01
  • 2021-04-23
  • 2017-03-02
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多