我想创建一个打印数组变量名的函数。
var myString = "Apple";
var myCategory = ["Mango","Apple","froot","others"]
found = $.grep( myCategory, function ( value, i) {
return (value.indexOf( myString) >= 0);
});
alert(found);
output =“Apple”(很好);
如果在数组中找到字符串,我想要数组变量名,即“myCategory”。
答案 0 :(得分:0)
变量名称是标识符,您不能要求标识符名称是什么。
如果需要,可以创建一个等于该标识符名称的新变量
var output = myCategory;
if(found === true){
alert(output);
}
答案 1 :(得分:0)
据我所知,您无法获取变量的名称字符串。你可以做的是将所有数组放在一个对象中,然后返回该数组的属性名。
var myString = "Apple",
data = {
"myCategory" : ["Mango","Apple","froot","others"],
"othercategory" : ["Car", "Bike", "Boat"]
},
find = function find( str ) {
return Object.keys(data).reduce(function( result, aryName ) {
if (data[aryName].indexOf(str) !== -1) result = aryName;
return result;
}, false);
};
console.log(find(myString));