jQuery $.each - 遍历对象数组并为每个对象选择一个字段

use*_*552 1 javascript jquery

我有一个像下面这样的对象数组,让我们说arrayValues

{ field1 : "933", field2 : "something", fieldN: "344" }
{ field1 : "21", field2 : "something", fieldN: "344" }
{ field1 : "34", field2 : "something", fieldN: "344" }
Run Code Online (Sandbox Code Playgroud)

使用jQuery foreach我试图获取field1数组中每个对象的值,然后将它们添加到另一个数组,让我们说newArray

var newArray = [];
$.each(arrayValues, function () {   
   newArray.push('what to put here?');
});
Run Code Online (Sandbox Code Playgroud)

最后,newArray应包含:933, 21, 34

这该怎么做?

Ror*_*san 5

为此,您不需要 jQuery。jQuery 是一个主要用于修改 DOM 的框架。要使用数组,您只需要普通的旧 Javascript。因此,简单地使用map()将构建您需要的数组:

let arrayValues = [
  { field1 : "933", field2 : "something", fieldN: "344" },
  { field1 : "21", field2 : "something", fieldN: "344" },
  { field1 : "34", field2 : "something", fieldN: "344" }
]

let newArray = arrayValues.map(o => o.field1);
console.log(newArray);
Run Code Online (Sandbox Code Playgroud)

请注意,如果您希望将值作为整数使用 o => parseInt(o.field1, 10)

如果出于某种原因,您确实想在 jQuery 中执行此操作,则可以使用$.map()

let newArray = $.map(arrayValues, o => o.field1);
Run Code Online (Sandbox Code Playgroud)