如何从javascript数组中选择特定字段

Kav*_*owd 9 javascript jquery jquery-plugins

我在javascript中有一个数组对象.我想从对象的所有行中选择一个特定的字段.

我有一个像这样的对象

var sample = {
[Name:"a",Age:1],
[Name:"b",Age:2],
[Name:"c",Age:3]
}
Run Code Online (Sandbox Code Playgroud)

我想得到只有名称的输出,["a","b","c"]而不是循环遍历示例对象.

如何使用jlinq选择一个或两个字段?或任何其他插件?

非常感谢.

小智 8

你可以试试这个:

var sample = [{Name:"a", Age:1}, {Name:"b", Age:2}, {Name:"c", Age:3}];
var Names = sample.map(function(item){return item.Name;});
Run Code Online (Sandbox Code Playgroud)

  • 不管喜欢与否,9之前的IE版本得到了广泛使用。 (2认同)

Jam*_*iec 7

你的定义是错误的.您需要一个对象数组,而不是包含3个数组的对象.

像这样:

var sample = [{Name:"a",Age:1},
   {Name:"b",Age:2},
   {Name:"c",Age:3}];
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

var name0 = sample[0].Name;
var age0 = sample[0].Age;
Run Code Online (Sandbox Code Playgroud)

或者根据你的例子得到你的所有名字:

var names = [sample[0].Name,sample[1].Name,sample[2].Name];
Run Code Online (Sandbox Code Playgroud)

但是,没有循环我不知道你将如何获得任何数量的值....为什么没有循环?

只是说你做循环,这是你将如何做到这一点:

var names = []
for(x in sample)
   names.push(sample[x].Name);
Run Code Online (Sandbox Code Playgroud)

或者使用jQuery(仍在循环中)

sample= jQuery.map(sample, function(n, i){
  return n.Name;
});
Run Code Online (Sandbox Code Playgroud)