Как вернуть конкретный ключ из массива
Пожалуйста, кто-нибудь может мне помочь с некоторым кодом, чтобы получить конкретные данные из массива вот мой массив
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` */
})