私は以下のような物を持っている:ときに私は入力「BMW」オブジェクト配列値のプロパティ名はどのように取得できますか?
myObj = {
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}
はどのようにして、プロパティ名「車」を知ることができますか?私は関数内で引数BMWを渡すときにプロパティ名 "cars"を返す必要がある関数が必要です。ここ
私は以下のような物を持っている:ときに私は入力「BMW」オブジェクト配列値のプロパティ名はどのように取得できますか?
myObj = {
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}
はどのようにして、プロパティ名「車」を知ることができますか?私は関数内で引数BMWを渡すときにプロパティ名 "cars"を返す必要がある関数が必要です。ここ
function getKeyByitem(myObj, value)
for (var key in myObj) {
if (myObj.hasOwnProperty(key) && Array.isArray(myObj[key])) {
if(myObj[key].indexOf(value) != -1){
return key;
}
}
}
}
var key = getKeyByitem(myObj, 'BMW');
ありがとうたくさん....... :) –
あなたは大歓迎です:) –
myObj = {
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}
var findKey = function (str) {
var keys = Object.getOwnPropertyNames(myObj);
var key = null;
var match = keys.some(function (k) {
key = k;
var val = myObj[key];
if (Array.isArray(val)) {
return val.indexOf(str) >= 0;
} else {
return val.toString() === str;
}
return false;
});
if (match) return key;
}
console.log(findKey('BMW')); // 'cars'
console.log(findKey('John')); // 'name'
console.log(findKey('30')); // 'age'
は、この情報がお役に立てば幸いです!
あなたCNAは私たちに機能を発揮してください。この
var myObj = {
"name": "John",
"age": 30,
"cars": ["Ford", "BMW", "Fiat"]
}
var getKey=function(elem) {
var toReturn = '';
for (var k in myObj) { // loop through the object
if(Array.isArray(myObj[k])){
if(myObj[k].indexOf(elem) !== -1){
toReturn = k;
}
}
else{
if(myObj[k] === elem){
toReturn = k
}
}
}
return toReturn;
}
console.log(getKey('BMW'))
ような何かを。 –
オブジェクト値をループして関数のパラメータと比較しようとしましたか? –