Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
289 views
in Technique[技术] by (71.8m points)

javascript - got error when get value from object in json

check this json response is

 [
   {"name": "Afghanistan", ...},
   {"name": "country 2" ,...},
   {"name": "country 3" ,...},       
  ]

Likewise I want only country name in array please suggest me how can I get only country name.

async function fetchval(data, name) {
  var x = await fetch("https://restcountries.eu/rest/v2/all");
  var data = await x.json();
  //  console.log(data)

  var tt = [];
  for (let i = 0; i <= data.length; i++) {
    var xs = data[i].name;    //somtime it gives error that name is undefined.

    // console.log(xs);

    tt.push(xs)
  }
  console.log(tt);  **i can not log out side the for loop**
}

fetchval();

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You likely want to use Array.prototype.map(). It iterates through every element and returns a new value for each.

const response = [{"name": "Afghanistan",},{"name": "country 2",},{"name": "country 3",}]

// For each country, return country.name
const countryNames = response.map(country => country.name)
console.log(countryNames)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...