lodash将对象值(字符串)转换为数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lodash将对象值(字符串)转换为数字相关的知识,希望对你有一定的参考价值。
我有一个非常简单的对象,如下所示。我正在尝试使用lodash
,因为我在我的应用程序的其他部分使用它。我试图找到一种方法将特定键的值转换为数字。
在下面的示例中,类似于:
_.mapValues(obj.RuleDetailID, _.method('parseInt'))
宾语:
var obj = [
"RuleDetailID": "11624",
"AttributeValue": "172",
"Value": "Account Manager",
"IsValueRetired": "0"
,
"RuleDetailID": "11626",
"AttributeValue": "686",
"Value": "Agent",
"IsValueRetired": "0"
,
"RuleDetailID": "11625",
"AttributeValue": "180",
"Value": "Analyst",
"IsValueRetired": "0"
,
"RuleDetailID": "11629",
"AttributeValue": "807",
"Value": "Individual Contributor",
"IsValueRetired": "0"
,
"RuleDetailID": "11627",
"AttributeValue": "690",
"Value": "Senior Agent",
"IsValueRetired": "0"
];
预期产出:
var obj = [
"RuleDetailID": 11624,
"AttributeValue": "172",
"Value": "Account Manager",
"IsValueRetired": "0"
,
"RuleDetailID": 11626,
"AttributeValue": "686",
"Value": "Agent",
"IsValueRetired": "0"
,
"RuleDetailID": 11625,
"AttributeValue": "180",
"Value": "Analyst",
"IsValueRetired": "0"
,
"RuleDetailID": 11629,
"AttributeValue": "807",
"Value": "Individual Contributor",
"IsValueRetired": "0"
,
"RuleDetailID": 11627,
"AttributeValue": "690",
"Value": "Senior Agent",
"IsValueRetired": "0"
];
是否有一系列方法我可以与lodash
一起鞭打来实现这一目标?
答案
如果要改变原始数组,请使用lodash#each
:
_.each(obj, item => item.RuleDetailID = parseInt(item.RuleDetailID, 10));
如果要创建新数组(不要改变原始数组),请将lodash#map
与lodash#clone
一起使用:
let newArr = _.map(obj, item =>
let newItem = _.clone(item);
newItem.RuleDetailID = parseInt(newItem.RuleDetailID, 10);
return newItem;
);
以上是关于lodash将对象值(字符串)转换为数字的主要内容,如果未能解决你的问题,请参考以下文章