簡體   English   中英

為什么當我檢查循環中的字符串是否包含在字符串數組中時,所有字符串都為假?

[英]Why when I check to see if a string in a loop is included in an array of strings do I get false for all of them?

我正在嘗試檢查 state 是否包含在 state 字符串數組中,但由於某種原因,它總是等於 false。 我這樣寫對嗎?

我試過使用下划線包含,但它做同樣的事情

T.get('followers/list', {screen_name: ''}, function(err, data, response){
  let states = [
  "AK",
  "AL",
  "AR",
  "AS",
  "AZ",
  "CA",
  "CO",
  "CT",
  "DC",
  "DE",
  "FL",
  "GA",
  "GU",
  "HI",
  "IA",
  "ID",
  "IL",
  "IN",
  "KS",
  "KY",
  "LA",
  "MA",
  "MD",
  "ME",
  "MI",
  "MN",
  "MO",
  "MS",
  "MT",
  "NC",
  "ND",
  "NE",
  "NH",
  "NJ",
  "NM",
  "NV",
  "NY",
  "OH",
  "OK",
  "OR",
  "PA",
  "PR",
  "RI",
  "SC",
  "SD",
  "TN",
  "TX",
  "UT",
  "VA",
  "VI",
  "VT",
  "WA",
  "WI",
  "WV",
  "WY"
]
  _.each(data, loc => {
    _.each(loc, data => {
      if(data.location){
        var statesyes = states.includes(JSON.stringify(data.location.split(', ').pop()));
        console.log(statesyes);
      };
    })
  })
})

例如,我應該對其中一些恢復為真,對另一些恢復為假,這就是目標。 但我只會變得虛假。

false
"South Africa"
false
"South Africa"
false
"The dark part of the web"
false
"MI"
false
"FL"
false
"United States"
false
"WV"
false
"TX"
false
"Iowa"
false
"IA"
false
"MN"
false
"IA"
false
"Big Sky Country"
false
"USA"
false
"MO"
false
"IA"
false

我對他們所有人都是假的。

對從data.location.split(', ').pop()返回的值調用JSON.stringify意味着您正在與引用的文本進行比較。

JSON.stringify("Hello") -> "\"Hello\""

刪除對JSON.stringify的調用

暫無
暫無

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

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