Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用下划线';s图_Javascript_Arrays_Map_Underscore.js - Fatal编程技术网

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