当前位置: 首页 > 知识库问答 >
问题:

使用jquery[duplicate]从对象数组中获取属性值数组

姜明贤
2023-03-14

我试着从这里开始:

example = [{
  name: "someone1",
  city: "somewhere1",
  state: "someplace1"
},{
  name: "someone2",
  city: "somewhere2",
  state: "someplace2"
}]

到此处:

example.name = [ "someone1", "someone2" ]

用尽可能少的代码。显然,我可以只循环它并构建数组,但我需要在各种对象上进行大量的操作。我可以编写一个函数来实现它,但很难使该函数对我的应用程序足够通用。

在jQuery中有这个的快捷方式吗?

共有2个答案

堵琨
2023-03-14

我在这里为您做了一个快速测试:http://jsperf.com/jquery-vs-javascriptlvjsklvjsfklsfklsdjfk

它由三种解决方案组成:

基本for循环

for (var i = 0; i < example.length; i++) {
    array.push(example[i].name);
}

jQuery$.each()

$.each(example, function(i, item) {
    array.push(example[i].name);
});

并将一个答案发送到此线程

Object.keys(example).forEach(function(key) {
  //get the value of name
  var val = example[key]["name"];
  //push the name string in the array
  array.push(val);
});

基本上,您必须记住的是,jQuery可能有一个包含“更少代码”的快捷方式,但实际上它的性能会比您自己编写的代码更差。

燕实
2023-03-14

您可以使用push遍历对象键并将name保存在数组中:

null

example = [{
  name: "someone1",
  city: "somewhere1",
  state: "someplace1"
}, {
  name: "someone2",
  city: "somewhere2",
  state: "someplace2"
}];
var arrNames = [];
//iterate through object keys
Object.keys(example).forEach(function(key) {
  //get the value of name
  var val = example[key]["name"];
  //push the name string in the array
  arrNames.push(val);
});
console.log(arrNames);//prints ["someone1", "someone2"]
 类似资料:
  • 问题内容: 有一个叫的课程。 而且我有一系列对象。我现在需要将数组中所有这些对象的s 提取到新数组中。 我也发现了类似的问题。但是它在Objective-C中,因此可以用来完成此任务。 如何在Swift中执行此操作? 问题答案: 您可以使用方法,将某种类型的数组转换为另一种类型的数组-在您的情况下,从的数组转换为的数组:

  • 有一个名为的类。 并且我有一个对象的数组。我现在需要的是将该数组中所有对象的s提取到一个新数组中。 我也发现了这个类似的问题。但是它是在Objective-C中的,所以它使用来实现这一点。 我怎么能在斯威夫特做到这一点呢?

  • 我有一个这样的数组: 获得只有值的数组的最简洁的ES6方法是什么? 预期结果将是:

  • 我有一个数据就像 我想使用ES6高阶函数获得每个对象的名称,而不使用for或foreach。 我尝试过和但不知道何时使用什么

  • 问题内容: 我有以下结构的JavaScript对象数组: 我想从每个对象中提取一个字段,并获取一个包含值的数组,例如field 将给出array 。 我可以用这种简单的方法做到这一点: 有没有更优雅或更惯用的方法来执行此操作,从而不需要自定义实用程序功能? 关于建议的重复项的注释,它涵盖了如何将单个 对象 转换为数组。 问题答案: 这是实现它的一种较短的方法: 要么 您也可以检查。

  • 我有一个对象只包括一个数组(17)。我想从这个数组中得到特定的值,例如 时,我得到: 最后,在调用this.flights['states'][0][4]时,我收到一个错误: 正在启动我从Opensky网络Api获取的flights对象: