我试过下划线_.object函数,但我只得到未定义的值。
我的代码示例:
var arr = [['moe', 'larry', 'curly'], [30, 40, 50]];
var str=JSON.stringify(array);
str.substring(1,str.length-1);
_.object(str.substring(1,str.length-1));
仅结果未定义
我找不到任何人帮助我的错误......
...谢谢
答案 0 :(得分:1)
_.object
将两个数组作为参数。第一个用作对象的键,第二个用作相应键的值。
您需要通过apply
在阵列上调用方法,如下所示:
var arr = [
['moe', 'larry', 'curly'],
[30, 40, 50]
];
console.log(_.object.apply(null, arr));

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.0/underscore-min.js"></script>
&#13;
或者如果您的浏览器支持ES6语法,请使用spread syntax:
var arr = [
['moe', 'larry', 'curly'],
[30, 40, 50]
];
console.log(_.object(...arr));
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.0/underscore-min.js"></script>
&#13;
答案 1 :(得分:1)
如果你想要的是{moe: 30, larry: 40, curly: 50}
,
你需要做_.object(arr[0], arr[1]);
在var str=JSON.stringify(array);
的上述情况中,str等于"[["moe","larry","curly"],[30,40,50]]"
P.S:.substring
方法返回一个新字符串,不会更改原始字符串。