Javascript 使用下划线';s图
我正在尝试映射二维阵列:Javascript 使用下划线';s图,javascript,arrays,map,underscore.js,Javascript,Arrays,Map,Underscore.js,我正在尝试映射二维阵列: var fkOptionList2d = [[3, 'Orange'],[5, 'Banana'],[6, 'Coconut']] 要创建关联数组,请执行以下操作: var fkOptionList1d = [{id: 1, label: 'Orange'},{id: 2, label: 'Banana'},{id: 3, label: 'Coconut'}] 但我对underline.js是新手,还不太了解它。应该是这样的: fkTableArr1d = _.ob
var fkOptionList2d = [[3, 'Orange'],[5, 'Banana'],[6, 'Coconut']]
要创建关联数组,请执行以下操作:
var fkOptionList1d = [{id: 1, label: 'Orange'},{id: 2, label: 'Banana'},{id: 3, label: 'Coconut'}]
但我对underline.js是新手,还不太了解它。应该是这样的:
fkTableArr1d = _.object(_.map(fkTableArr2d, function(item, id) {
return [{"id: " + id,"label: " + item}]
}));
根据我的理解,您需要使用
return [{
"id " : id, "label " : item
}]
而不是
return [{"id: " + id,"label: " + item}]
您正在从函数返回无效的JSON
此外,您不需要\uu0.object
方法
fkTableArr1d = _.map(fkTableArr2d, function(item, id) {
return [{
"id " : id, "label " : item
}];
});
你真的试过跑步吗?你的最后一段代码应该给你一些很好的信息:)但是我在
return
附近得到了expected标识符
,应该是return[{id:id,label:item}]
;您不需要将对象构造为字符串(它不是JSON),我已经更改了它,但是console.log显示对象{[object object]:undefined}
@OverdrivenFall,您可以创建一个fiddle@OverdrivenFall,请参阅演示。您不需要u.object方法。我还更新了answerit,但根据console.log(fkTableArr1d[0][0]),标签变成了一个数组
:对象{id:0,label:Array[2]}
,不应该是字符串吗`好的,我从函数(list,iterator,context)的3中得到了它。
我实际上想要list[0]
,它是ID和list[1]
-name