【问题标题】:Javascript: How to get value of key in arrayJavascript:如何获取数组中键的值
【发布时间】:2020-08-23 23:32:49
【问题描述】:

我正在尝试获取每个对象中第一项的一个值。我的代码可以获取对象,但我不知道如何获取我想要的值。

function getExcerpt() {
  var ourRequest = new XMLHttpRequest();
  ourRequest.open('GET', 'https://xxxxxxxx.org/wp-json/wp/v2/portfolio');
  ourRequest.onload = function () {
    if (ourRequest.status >= 200 && ourRequest.status < 400) {
      var data = JSON.parse(ourRequest.responseText);
      
      for (i=0; i < data.length; i++) {
        console.log(data[i].excerpt)
      }
    } else {
      console.log("We connected to the server, but it returned an error.");
    }
  };
  ourRequest.onerror = function () {
    console.log("Connection error");
  };
  ourRequest.send();
}
getExcerpt()

这就是它在控制台中记录的内容。现在我只需要获取渲染的值。

{渲染:“Smart Parent Advice 的这篇博文列出了你不应该对孩子大喊大叫的六个原因”,受保护:错误}

【问题讨论】:

  • let o = data[i].excerpt; console.log(o.rendered); console.log(o.protected);
  • excerpt 是字符串还是对象?你试过data[i].excerpt.rendered吗?
  • 并将它们全部映射var renders = data.map(el=&gt; el.excerpt.rendered)

标签: javascript arrays loops


【解决方案1】:
if (ourRequest.status >= 200 && ourRequest.status < 400) {
          var data = JSON.parse(ourRequest.responseText);
          let render =[];
          //Use this for block 
          for (i=0; i < data.length; i++) {
            console.log(data[i].excerpt);
            let temp = data[i].excerpt; 
            render.push(temp.rendered); 
          }
         //Or Use This
          render = data.map(ob => ob.excerpt.rendered);
}

试试这个

【讨论】:

    【解决方案2】:

    我正在尝试获取每个对象中第一项的一个值

    Object.values 函数返回一个对象值数组。在你的情况下,我们可以抓住第一个 ([0])。

    let a = { test: 2, test2: 3};
    Object.values(a)[0]
    

    上面的例子输出 2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多