使用javascript/jquery从json变量获取json字符串名称
我需要一种方法来获取数组的标题/名称,只需在Javascript中检测该数组中的值 我有一个json数组,其中有使用javascript/jquery从json变量获取json字符串名称,javascript,arrays,json,Javascript,Arrays,Json,我需要一种方法来获取数组的标题/名称,只需在Javascript中检测该数组中的值 我有一个json数组,其中有问候语和食物的数组。变量x等于hi,变量y等于pizza var$arrays={问候语:['hello','hi'],食物:['pizza','cookie']}; 变量x='hi', y=‘比萨饼’; 我现在需要为x返回问候语的名称,为y返回食物的名称 if(x=='hi') { alert($array.greeting); // alert('greeting'
问候语
和食物
的数组。变量x
等于hi
,变量y
等于pizza
var$arrays={问候语:['hello','hi'],食物:['pizza','cookie']};
变量x='hi',
y=‘比萨饼’;
我现在需要为x
返回问候语的名称,为y
返回食物的名称
if(x=='hi') {
alert($array.greeting); // alert('greeting');
}
if(y=='pizza') {
alert($array.food); // alert('food');
}
如果(x=='hi'){
警报($array.greeting);//警报('greeting');
}
如果(y=='pizza'){
警报($array.food);//警报('food');
}
在Javascript或jQuery中,哪种方式更有效?根据包含数组的对象的大小/结构,您可以简单地迭代它们的键,并找到其值(数组)包含您要查找的值的键。下面是它的外观
var$arrays={
“问候语”:[“你好”,“你好],
“食物”:[‘比萨饼’、‘饼干’]
};
变量x='hi',
y=‘比萨饼’;
函数getContainerName(值){
返回Object.keys($arrays).find(函数(键){
返回$arrays[key].find(函数(elem){
返回元素===值;
})
});
}
console.log(getContainerName(x));
console.log(getContainerName(y))代码>在javascript中one=is赋值==或===is条件求值这与jQuery无关。还有,为什么要在引号中创建对象?如果x是一个数组,需要在该数组中找到特定值,那么这会起作用吗?例如,y=['chips','pizza'],x={“food”:['banana','carrot','pizza','wheet','chips']}
因此,它需要在x数组中找到芯片和比萨饼,因此console.log(getContainerName(x))
将返回food
?@Ackados更新。看一看,非常棒,最后一件事,我试图修改它,使数组中不仅仅有食物
,还添加了问候语
,但当我将y中的比萨饼
更改为嗨
时,会出现未定义的错误@阿克多斯:嗯,这比你想象的更能改变问题。你应该打开一个新问题,我可以在那里回答。链接到