使用JSON从对象数组创建属性数组
Creating an array of properties from an array of objects with JSON
function Person(name, favouriteColour) {
this.Name = name;
this.FavouriteColour = favouriteColour;
}
var group = [];
group.push(new Person("Bob", "Green"));
group.push(new Person("Jane", "Red"));
group.push(new Person("Jack", "Blue"));
我怎么做才能从组中获得名称数组?
group.??? -> ["Bob", "Jane", "Jack"]
在c#中,与:group.ConvertAll<string>(m => m.Name)
我认为你只需要循环遍历数组并以这种方式获取名称。
function getKeysArray(key, objArray) {
var result = [], l = objArray.length;
for (var i = 0; i < l; i++) {
result.push(objArray[i][key]);
}
return result;
}
alert(getKeysArray("Name", group));
JSFiddle例子
你也可以尝试一个独立的库,比如LINQ to JavaScript,它看起来非常有用。
我将提供一个明显的在所有浏览器中工作的javascript:
var names = [];
for (var i = 0; i < group.length; i++) {
names.push(group[i].Name);
}
或使用jQuery(使用它的.map
实用程序方法):
var names = $.map(group, function(item) {return(item.Name);});
或者,如果您安装了.map
shim以确保CC_4 Array方法在所有浏览器中可用:
var names = group.map(function(item) {return(item.Name);});
您可以使用.map
,但在较旧的浏览器中不可用。
// names is group's Name properties
var names = group.map(function(value) { return value.Name; });
在JavaScript 1.6及以上版本中:
group.map(function(p) { return p.Name; });
相关文章:
- 从多维嵌套json数组创建下拉列表
- 为对象数组创建列表项
- 如何在cycle js中从JSON数组创建组件
- 使用数据数组创建多个类似组件
- 如何在 Angular JS 中从关联数组创建多个复选框
- 如何为给定数组创建跨度列表
- 如何在javascript中使用2个一维数组创建层次结构树
- 从数据对象数组创建折线图
- 从 javascript 数组创建一个 Jquery 数组
- Angular2从数组创建一个列表
- 使用JavaScript's Reduce从对象数组创建数组
- 如何从数组创建 jqtree
- 从字符串数组创建唯一组合数组
- 反应.js通过数组创建循环
- 从数组创建新元素,直到每秒数组为空
- 如何使用其他流的值数组创建流
- JavaScript:从字节数组创建图像资源
- 使用拆分字符串的数组创建一个对象
- 从一组数据或数组创建对象
- 多维数组 - 创建一个表