2015-11-02 4 views
0

У меня есть массив JS с большим количеством объектов внутри него.
Например мой массив имеет в нем следующее:
поиск свойства в объектах массива javascript

1 {key:1;value:1} 
2 {key:2;value:2} 
3 {key:3;value:3} 
4 {key:4;value:4} 

Теперь я хочу, чтобы вставить еще один элемент в этом массиве, и как я могу проверить, если какой-либо объект, уже существующий не имеет то же значение. ключ может или не может отличаться, но я хочу иметь уникальные значения.


ПРИМЕЧАНИЕ. Оригинальный массив имеет объекты с несколькими свойствами, а не только ключ или значение. Я не хочу использовать циклы.

+2

** Я не хочу использовать циклы **? Зачем ?. – Rayon

+0

используйте рекурсию, и если вы используете ее с петлями, тогда ваша жизнь будет намного проще. Хотя вопрос по-прежнему стоит почему ??? – Jai

+0

Я не хочу использовать циклы beacuse, я уже использую 5 вложенных каждой петли. –

ответ

0

Во-первых, включают библиотеку JQuery:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 

И после этого использовать этот скрипт и функцию под названием check_if_in_array:

_array = [ 
      {key:1,value:1}, 
      {key:2,value:2}, 
      {key:3,value:3}, 
      {key:4,value:'test'} 
     ]; 

$(document).ready(function() { 
    console.log('Check if in array 5: ' + check_if_in_array(5)); 
    console.log('Check if in array "test": ' + check_if_in_array('test')); 
}); 

function check_if_in_array(_value){ 
    var _flag = false; 
    _array.forEach(function(el){ 
     if (el.value == _value) { 
      _flag = true; 
     }; 
    }); 

    return _flag; 
};