Функция для получения индекса из массива объектов, имеющих определенное значение заданного свойства - PullRequest
0 голосов
/ 08 сентября 2011

Мой вопрос основан на и похож на , но немного отличается, поскольку имя свойства будет переменным.

Как создать функцию, которая будет возвращать мне индекс объектаимея определенную стоимость предоставленного имущества?

function indexOf(propertyName,lookingForValue,array){
 //......

 return index;
}

Итак,

indexOf("token",123123,[
    {id_list:1, name:'Nick',token:'312312'},{id_list:2,name:'John',token:'123123'}
    ]);

должен возвращать 1.

Основная проблема, с которой я столкнулся, - как проверить значение свойства, когда у меня есть имя свойства какнить со мной?

Ответы [ 2 ]

3 голосов
/ 08 сентября 2011
function indexOf(propertyName,lookingForValue,array) {
    for (var i in array) {
        if (array[i][propertyName] == lookingForValue) {
            return i;
        }
    }
    return undefined;
}

Редактировать: Обратите внимание, что я специально провожу проверку свободного типа '==', так как вы задаете целое число для этой функции, тогда как в массиве искомым значением является строка.

1 голос
/ 08 сентября 2011

Я делаю функцию, которая может быть вам полезна.Проверьте это.

function GetindexOf(propertyName,lookingForValue,array){
var obj = array;
for(o in obj)
{
   if(obj[o][propertyName] == lookingForValue)
   {
       //return index;
       alert("You have request for "+o+" index");
   }
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...