【问题标题】:Javascript get an arrayJavascript 获取一个数组
【发布时间】:2018-03-03 15:45:21
【问题描述】:

我正在尝试将 api 用于 bitfinex 网站。对于比特币的价格。使用此代码。

https://api.bitfinex.com/v2/tickers?symbols=tBTCUSD

我收到了这个

[["tBTCUSD",11437,106.37262285,11438,63.64002459,595,0.0549,11437,28751.21271922,11487,10771]]

我使用此代码将其从链接中取出。

$(document).ready(function(){
    $.get("https://api.bitfinex.com/v2/tickers?symbols=tBTCUSD", function(data){

    });
});

问题我是 javascript 的初学者,我查看了 W3School 的 javascript 数组,似乎我以数组的形式接收信息。或某种格式的数组。W3School | JavaScript Arrays。数组以[] 开头和结尾,但在接收信息中有双括号。

我在看什么?以及如何处理?

【问题讨论】:

  • 你得到一个数组,它有一个元素,这个元素是另一个数组
  • 他们给了你一个嵌套数组(数组内的数组)。我不知道为什么,你应该查看 API 文档。

标签: javascript arrays api get


【解决方案1】:

您正在查看二维数组。

您可以用data[0][0]11437data[0][1] 检索"tBTCUSD" 等。

【讨论】:

  • 你说得对,我可以一次请求多个数组,https://api.bitfinex.com/v2/tickers?symbols=tBTCUSD,tXRPUSDdata[0][0]"tBTCUSD"data[1][0] 将是 "tXRPUSD"
【解决方案2】:

有多种方法可以做到这一点。使用扩展语法是其中一种方法。传播语法将删除内部数组。例如[[1,2,3]] 将是[1,2,3];

$(document).ready(function() {
  $.get("https://api.bitfinex.com/v2/tickers?symbols=tBTCUSD", function(data) {
    console.log(...data); // using spread operator
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

【讨论】:

  • 那么它是一个数组吗?怎么用?
  • @AbdullahSalma 我没听懂你。 data 是一个数组数组。我猜你正在寻找删除内部数组
【解决方案3】:

这有点像数组中的数组,所以要得到一个数组,像这样使用它

$(document).ready(function(){
    $.get("https://api.bitfinex.com/v2/tickers?symbols=tBTCUSD", function(data){
        var arrayElements = data[0]; // First index
        console.log(arrayElements); // You will get an array
    });
});

试试吧!

【讨论】:

    【解决方案4】:

    你得到一个数组数组。由于您只要求一个符号,因此符号数组仅包含一个结果。不知道还能告诉您什么,请尝试询问两个符号。你应该得到 [[symbol 1],[symbol 2]]。

    【讨论】:

      【解决方案5】:

      您将得到一个二维数组作为响应。您可以使用Destructuring Assignment 获取一维数组:

      考虑一个二维数组:

      let arr_2D = [[1, 2, 3, 'a', 'b', 'c']];
      let [arr_1D] = arr_2D;
      
      console.log(arr_1D);
       // Expected output: [1, 2, 3, 'a', 'b', 'c']
      

      工作示例:

      $(document).ready(function() {
          $.get("https://api.bitfinex.com/v2/tickers?symbols=tBTCUSD", function(response) {
              let [data] = response;
              console.log(data);
          });
      });
      .as-console-wrapper { max-height: 100% !important; top: 0; }
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

      【讨论】:

        猜你喜欢
        • 2021-06-24
        • 1970-01-01
        • 2020-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-25
        • 1970-01-01
        • 2015-09-13
        相关资源
        最近更新 更多