如何检查离子3中是否存在数组值

时间:2019-04-17 09:28:46

标签: javascript html arrays json object

我是离子3的新手。我从下拉选项中选择了一个数组:{“ 3”:“ 5”,“ 4”:“ 7”} 。< / p>

现在我需要使用以下方法检查下拉值:

"variant_json": "{\"14\":\"5,7\",\"15\":\"5,8\",\"16\":\"6,7\",\"17\":\"6,8\"}"

例如:

在下拉菜单中,如果我选择 5,7 ,则它应从“ variant_json”中进行检查,并需要显示其密钥为 14

2 个答案:

答案 0 :(得分:0)

您可以使用Object.keysfind

let json = JSON.parse("{\"14\":\"5,7\",\"15\":\"5,8\",\"16\":\"6,7\",\"17\":\"6,8\"}")

let findKeyByValue = (value) =>{
  let found = Object.keys(json).find((key)=>json[key] === value)
  return found ? found : 'Not found'
}

console.log(findKeyByValue('5,7'))
console.log(findKeyByValue('5,8'))
console.log(findKeyByValue('9,9'))

答案 1 :(得分:0)

使用Object.entries

 

const obj = {
"variant_json": "{\"14\":\"5,7\",\"15\":\"5,8\",\"16\":\"6,7\",\"17\":\"6,8\"}"
};

const [, key ] = Object.entries(obj.variant_json).find(([k, v]) => v == "5,7");

console.log(key);