Как вернуть конкретный ключ из массива

Пожалуйста, кто-нибудь может мне помочь с некоторым кодом, чтобы получить конкретные данные из массива вот мой массив

var array = [
  {
    "name": "Joe",
    "age": 17
  },
  {
    "name": "Bob",
    "age": 17
  },
  {
    "name": "Carl",
    "age": 35
  }
]

просто хочу вернуть имя и его значения без возврата возраста

заранее спасибо.

7 ответов

Использование Array.map() с методом деструктуризации массива, так что вы получите только name ключ-значение. Array.map() будет иметь только один параметр, поэтому вам не нужно упоминать return там:

var array = [ {"name":"Joe", "age":17},{"name":"Bob", "age":17},{"name":"Carl", "age": 35}];
var res = array.map(({name}) => ({name}));
console.log(res);

В случае, если вам нужно только значение, следующий пример даст вам только имена в 1d-массиве

Попробуйте использовать функцию jQuery.inArray(). Я надеюсь, что это поможет вам.

   
    
    function functionname(){
     var names = [ {"name":"Joe", "age":17},{"name":"Bob", "age":17},{"name":"Carl", "age": 35}];
            var name = $('#name').val(); 
            if(jQuery.inArray(name, names)) {  
                alert(name +" Is In Array");  
            } else {  
                alert(name + ' Is NOT In Array...');  
            }  
    }
  
    
   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="name" id="name"/>
    <button onclick="functionname()" >Submit</button>

Ты можешь использовать Array#map сделать это. Удалите имя из объекта и верните новый объект только с именем.

Смотрите рабочее демо ниже:

var array = [{
  "name": "Joe",
  "age": 17
}, {
  "name": "Bob",
  "age": 17
}, {
  "name": "Carl",
  "age": 35
}];

var result = array.map(({name, ...rest}) => ({name}));
console.log(result);

Достаточно просто для доступа к атрибуту имени объекта, вам просто нужно сослаться на элемент в массиве и выбрать имя следующим образом:

array[i].name;

Вы можете создать вспомогательную функцию для получения объекта by by из этого массива:

var persons = [
  {
    "name": "Joe",
    "age": 17
  },
  {
    "name": "Bob",
    "age": 17
  },
  {
    "name": "Carl",
    "age": 35
  }
];

function getElement(personList, property, comparable) {
  var arraySize = personList.length;
  for(var i = 0; i < arraySize; i++) {
     if (personList[i][property] == comparable) {
         return personList[i]
     }
  }
  return {"name":null, "age":null};
}

console.log(getElement(persons, "name", "Joe")); // outputs { "name": "John", "age" : 17}
console.log(getElement(persons, "name", "Fake John")); // outputs { "name": null, "age" :null} 

Таким образом, вы можете получить свой объект person по любому свойству, которое у него есть.

Все эти функции Array.Map FacePalm

var array = [
  {
    "name": "Joe",
    "age": 17
  },
  {
    "name": "Bob",
    "age": 17
  },
  {
    "name": "Carl",
    "age": 35
  }
]

array.forEach((entry) => {
  console.log(entry.name) /* Do whatever you want with `entry.name` */
})

Другие вопросы по тегам