簡體   English   中英

JavaScript,API,過濾數組

[英]JavaScript, API, filtering array

我想開始創建表的函數,我在.foreach中使用ifindexOf ,我希望如果輸入的值與tah案例名稱:germany中數組的第一項完全相同,我可以向我顯示表ony 。 我做錯了什么? https://scr.hu/eyjnr0

function showCountriesList(resp) {

 var url = 'https://restcountries.eu/rest/v2/name/';
 var createdTable = createNewTable();
 var countryName = $('#country-name').val();

 resp.forEach(function(item) {
  var row = document.createElement('tr');
  row.innerHTML = `
   <td><img style="width: 60px; height: 60px; object-fit: cover" src=${item.flag}></img></td>
   <td>${item.name}</td>
   <td>${item.capital}</td>
   <td>${item.alpha2Code}</td>
   <td>${item.timezones}</td>
  `;
   if (countryName === url.indexOf([item.name])) {
    createdTable.appendChild(row); }
 });

}

您提供的信息不夠清晰,無法給出結論性的答案。

您的if語句無效,並且始終為false。 假設countryName變量包含一個字符串,並且indexOf函數返回一個數字。 如果indexOf函數錯誤,因為它期望的是字符串而不是數組,因此也是您的用法。

if (countryName === url.indexOf([item.name])) {
createdTable.appendChild(row); }

我假設上面的代碼正在嘗試檢查countryName值是否與url中的那個相同。

我建議您嘗試使用字符串函數包括

if( url.includes(countryName)) createdTable.appendChild(row);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM