繁体   English   中英

如何从数组中返回特定键

[英]how to return a specific key from an array

请任何人可以帮助我一些代码来从数组中获取特定数据这是我的数组

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

只想返回名称及其值而不返回年龄

提前致谢。

尝试使用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()与数组解构方法一起使用,以便仅获得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); 

访问对象的名称属性非常简单,您只需要引用数组中的项目并选择名称即可,如下所示:

array[i].name;

您可以创建一个辅助函数来从该数组中获取一个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} 

这样,您可以通过拥有的任何属性来检索您的人员对象。

您可以使用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.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` */ }) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM