将JSON对象解析以比较其中的项

3

我有一个结构如下的 JSON 对象:

{

  "catNames" : ["a1", "a2", "a3", "a4"],
  "dogNames" : ["b1", "b2", "b3", "b4"],
  "goldfishNames" : ["c1", "c2", "c3", "c4"]

}

我想要做的事情是解析这个对象并将输入字符串与"catNames""dogNames""goldfishNames"进行比较,如果匹配,比如说是catNames,我想要从catNames数组中随机输出一个元素。我完全不知所措,该怎么做?

2
你是指JavaScript对象吗?还是实际上指的是JSON?请参阅:JSON不是JavaScript - 3limin4t0r
1个回答

3

遍历对象的键,查看该键的值是否包含匹配的名称,如果是,则可以从数组中的随机索引处记录一个名称。

const jsonObject ={

  "catNames" : ["a1", "a2", "a3", "a4"],
  "dogNames" : ["b1", "b2", "b3", "b4"],
  "goldfishNames" : ["c1", "c2", "c3", "c4"]

};
const input = 'a1';
Object.keys(jsonObject).forEach(key =>{
       const nameArr = jsonObject[key];
       if(nameArr.includes(input))
           console.log(nameArr[Math.floor(Math.random() * nameArr.length)]);
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接