[英]Convert Array of Strings To Array of Objects using Lodash
在 lodash 中是否有一种简单的方法来解决这个问题:
const sampleSource = [
"String 1",
"String 2",
]
得到这个:
[
{id: "String 1", text: "String 1"},
{id: "String 2", text: "String 2"},
]
我需要像这样格式化它以传递到第 3 方反应组件。 我玩过 .map 和 .zipObject 一点,但没能把它弄好。
我认为这样的事情应该有效:
_.chain(sampleSource).map(s => ({ id: s, text: s })).value()
但它给了我:
[
{
id: ["String 1", "String 2"],
text: ["String 1", "String 2"],
}
]
像这样的东西。 添加了链示例。
const sampleSource = [ "String 1", "String 2", ] let result = _.map(sampleSource, function(item) { return {id: item, text: item}; }); console.log(result); let result2 = _.chain(sampleSource).map(function(item) { return {id: item, text: item}; }); console.log(result2);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>
为此,您不需要 lodash,普通的 JavaScript .map()
应该可以工作。
const sampleSource = [ "String 1", "String 2", ]; const result = sampleSource.map(s => ({id: s, text: s})); console.log(result);
lodash
有一个名为keyBy的方法。
你可以像这样使用它
const sampleSource = [ "String 1", "String 2", ]; const result = _.keyBy(sampleSource); console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.