JavaScript findIndex 不适用于第一个对象

Vin*_*urs 6 javascript arrays indexing find

var data=[{"vpnkey":"CUSTOMER_NAME","validation":"ALPHANUMERIC"},
{"vpnkey":"VRF","validation":"VRF_CHECK"},
{"vpnkey":"MOBILE_ADDRESS_SUMMARIZED_RANGE","validation":"IP_MASK"},
{"vpnkey":"APN_MOBILE_RANGE","validation":"IP_MASK"},
{"vpnkey":"FIXED_IP_LOOPBACK_TRACK_ID","validation":"NUMERIC"},
{"vpnkey":"CUSTOMER_BGP_REMOTE_AS","validation":"NUMERIC"},
{"vpnkey":"testing_purpass1","validation":"IP_ADDRESS"},
{"vpnkey":"testing_purpass2","validation":"IP_ADDRESS"}]
Run Code Online (Sandbox Code Playgroud)

当我使用第一个对象“vpnkey value”搜索 vpnkey 时,它返回 -1 但预期结果 0

this.vpnKeys["Commonkeys"].findIndex(function(item, i){
   if(item.vpnkey === "CUSTOMER_NAME") return i
});
Run Code Online (Sandbox Code Playgroud)

当我基于 vpnkey 进行搜索时,第一个对象“vpnkey value”会给出正确的索引值

this.vpnKeys["Commonkeys"].findIndex(function(item, i){
   if(item.vpnkey === "VRF") return i
});
Run Code Online (Sandbox Code Playgroud)

brk*_*brk 3

findIndex将返回数组中满足条件的第一个元素的索引。i所以你可以不用退货return item.vpnkey === "CUSTOMER_NAME"

var data = [{
  "vpnkey": "CUSTOMER_NAME",
  "validation": "ALPHANUMERIC"
}, {
  "vpnkey": "VRF",
  "validation": "VRF_CHECK"
}, {
  "vpnkey": "MOBILE_ADDRESS_SUMMARIZED_RANGE",
  "validation": "IP_MASK"
}, {
  "vpnkey": "APN_MOBILE_RANGE",
  "validation": "IP_MASK"
}, {
  "vpnkey": "FIXED_IP_LOOPBACK_TRACK_ID",
  "validation": "NUMERIC"
}, {
  "vpnkey": "CUSTOMER_BGP_REMOTE_AS",
  "validation": "NUMERIC"
}, {
  "vpnkey": "testing_purpass1",
  "validation": "IP_ADDRESS"
}, {
  "vpnkey": "testing_purpass2",
  "validation": "IP_ADDRESS"
}]



const x = data.findIndex(function(item, i) {
  return item.vpnkey === "CUSTOMER_NAME"
});
console.log(x)
Run Code Online (Sandbox Code Playgroud)