将数组转换为类数组对象
Convert array to array-like object
我有一个数组,比如[{ id: 'first' }, { id: 'second' }]
是否有任何本地方法,我错过了,将数组转换成一个类似数组的对象?我已经看到了很多关于其他方向的答案,并推荐Array.prototype.slice.call
(或更新的Array.from
),但我找不到任何人问这个。对于上面的示例,我希望得到以下输出:
{
0: { id: 'first' }
1: { id: 'second' }
}
减少
var array = [{ id: 'first' }, { id: 'second' }];
var obj = array.reduce( (a,b,i) => {return a[i]=b,a},{})
console.log(obj)
查看MDN (Mozilla Developer Network)上Array.reduce
的文档
您可以只遍历array
并将值添加到相应的索引中
var arr = [{ id: 'first' }, { id: 'second' }];
var set = {};
arr.forEach(function(value, index){
set[index] = value;
})
console.log(set)
不是本地方法,但是下面的帮助函数应该可以完成这个任务:
var arr = [{ id: 'first' }, { id: 'second' }];
function toArrayLike(arrayToConvert) {
var retVal = {};
Object.keys(arrayToConvert).forEach(function(key) {
retVal[key] = arrayToConvert[key];
});
return retVal
}
var arrayLike = toArrayLike(arr);
console.log(arrayLike);
相关文章:
- 将数组对象传递到struts2中的操作类
- 如何使用jquery返回php-json数组对象
- 从其名称获取javascript数组对象
- 值未与数组对象绑定
- 如何按数组/对象值的倍数过滤对象数组
- 在表中显示数组对象
- 在数组对象中分组
- 将第二个或多个数组推送到数组对象 AngularJS 中
- 重新排列 JavaScript 数组/对象
- 键上的javascript数组对象过滤器
- handontable:在不更改数据数组/对象的情况下隐藏某些列
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 重建有角度的java脚本数组对象
- 对JSON数组对象进行排序
- 连接与数组对象相关的文本:方式和位置
- 哪些浏览器和版本支持将常见的类数组对象直接传递到fn.apply()
- 如何使用Handlebars循环数组对象和模板
- 是否可以引用JS数组/对象中的另一个元素
- Javascript中的名称索引-数组/对象
- 数组长度不等于数组对象