我有一个这样的数组: -
["119306.jpg","149426.jpg","157715.jpg","161706.jpg","171278.jpg","172313.jpg","179934.jpg","182047.jpg","182084.jpg","182261.jpg","183351.jpg","185276.jpg","189666.jpg","190304.jpg","191798.jpg"
我需要将其转换为这样的对象数组: -
var images = [
{
{
id:"119306.jpg"
},
{
id:"149426.jpg"
},
{
id:"157715.jpg"
},
{
id:"161706.jpg"
},
{
id:"171278.jpg"
},
{
id:"172313.jpg"
},
{
id:"179934.jpg"
},
{
id:"182047.jpg"
}
}
];
我试图这样做的原因是我可以注入$ stateParams并且我的ui-sref将有一个id占位符。无论我点击哪个图像,检查下面的代码后: -
for(var i = 0; i < response.data.length; i++) {
if($stateParams.id == response.data[i].id) {
$scope.oneimage = response.data[i].id;
}
}
基本上,我想做的就是将该数组转换为一个对象数组,但每个数组都有相同的密钥对。感谢。
答案 0 :(得分:0)
您可以使用地图功能。将数组作为原始对象,结果数组为arrayOfObjs;
var arrayOfObjs = array.map(function(jpg){
return {id:jpg};
});
您生成的数组将如下所示:
[
{id:"some.jpg"},
{id:"some.jpg"},
{id:"some.jpg"}
...
]