javascript - 如何使用 lodash 从现有对象创建特定的新对象
问题描述
我目前有这个对象数组:
[{
"key1": "value1",
"key2": "value2",
"key3": "valuex"
},{
"key1": "value3",
"key2": "value4",
"key3": "valuey"
}]
最后我想得到的是一个字符串数组
["value1/value2", "value3/value4"]
最好使用一些“lodash 魔术快捷方式”。
所以本质上,我想将 key1 和 key2 的值加入到一个字符串中,使用'/'作为分隔符,同时忽略 key3。
我尝试了很多使用_.transform
,_.join
但我的尝试都没有接近预期的结果。我知道这不是免费的编码服务,但也许你对我有提示?
解决方案
使用lodash.map
.
var data = [{
"key1": "value1",
"key2": "value2",
"key3": "valuex"
}, {
"key1": "value3",
"key2": "value4",
"key3": "valuey"
}]
console.log(_.map(data, ob => `${ob.key2}/${ob.key2}`));
<script src="https://cdn.jsdelivr.net/lodash/4/lodash.min.js"></script>
推荐阅读
- azure - 使用 Azure 中的事件代理将使用的数据从第三方 WebHook 流式传输到应用程序
- javascript - Object.prototype.toString 和 toString 有什么区别?
- reactjs - 不使用数组或 setstate 动态创建新组件
- go-cd - 如何修改 GoCD 管道中材料的轮询时间?
- python - 如何使输入语句可选?
- mongodb - 如何查询嵌入式数组的相同元素
- visual-studio - 如何在 IDEA 和 Visual Studio 环境中联合调试 JNI 程序
- r - 军官占位符文本未保存到输出文件
- c# - 如何将 JSON ARRAY 从 IRESTRESPONSE 转换为 C# 数组
- shell - 在所有容器准备好到远程服务器后,如何通过 docker-compose 部署容器构建的内容?