Я согласен с кодом «hemnath Mouli» должен быть, как он писал:
<script type="text/javascript">
keys = {HT2787UK: "9618", HT2787Z1UK: "9619", HT2787Z3UK: "9621", HT2787Z2UK: "9620"};
function getIndexOf(obj,value){
var count = 0;
for (var i in obj){
if(obj[i] == value.toString()){
return "index[" + count + "]:" + obj[i] + " = " + i;
//return what you want
}
count ++;
}
}
</script>
Тогда U получил значение
<script type="text/javascript">
alert(getIndexOf(keys,9621));
</script>
Не могли бы вы прислать кусок кода для извлечения значений @ClementNerma даже Я согласен с вами, что это не самый эффективный способ.
Я просто не хочу «опробовать» вопрос.
Или, если вы хотите, чтобы преобразовать объект в массив:
<script type="text/javascript">
keys = {HT2787UK: "9618", HT2787Z1UK: "9619", HT2787Z3UK: "9621", HT2787Z2UK: "9620"};
function obj2Array(obj){
k = [];
for (var i in obj){
k.push(obj[i]);
}
return k;
}
</script>
<script type="text/javascript">
arr = obj2Array(keys);
alert (arr[2]);
</script>
@abu абу
'.indexOf' смотрит только на числовые индексы. Ваш массив заполнен нечисловыми свойствами, которые будут игнорироваться. Поэтому вопрос заключается в том, почему в первую очередь используется массив. –
Это не массив ... – JLRishe
Это недопустимый синтаксис массива. Если вы измените его на объект, вы можете использовать методы ES6 для получения ключа: 'Object.entries (skus_colorcode) .find (a => a [1] ==" 9620 ") [0]'. – Xufox