javascript - 将对象数组值转换为整数值

标签 javascript typescript

我是 javascript/typescript 新手。当前有一个对象数组

我想将值转换为整数。目前我正在通过

映射值

var k = [{key: "apples", value:"5"}, {key: "orange", value:"2"}];
var output = Object.entries(k).map(([key,value]) => ({key,value}));

console.log(output)

预期输出为

[{key: "apples", value:5}, {key: "orange", value:2}]

最佳答案

无需在数组上使用 Object.entries(),只需将 .map() 直接应用于 k > 数组。对于每个对象,您可以对其进行解构以提取其 value 属性,然后您可以将其映射到一个新对象,并使用 unary plus operatorvalue 转换为数字。 (+value) 像这样:

const k = [{key: "apples", value:"5"}, {key: "orange", value:"2"}];
const output = k.map(({value, ...rest}) => ({...rest, value: +value}));

console.log(output)

如果您希望就地更改数组,可以使用 .forEach 循环遍历其对象,并使用点符号更改 value,如下所示:

const k = [{key: "apples", value:"5"}, {key: "orange", value:"2"}];

k.forEach(obj => {
  obj.value = +obj.value; // use `+` to convert your string to a number
});
console.log(k)

关于javascript - 将对象数组值转换为整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57656839/

相关文章:

javascript - 使用 angularJS 将动态列绑定(bind)到表

javascript - 在 Angular 2 App 中过滤多维数组

javascript - NestJS NATS 请求-响应

javascript - 如何在asp.net用户控件中动态附加脚本标签?

javascript - 如何使用 CSS 和 Javascript 或 DOJO 制作自定义单选按钮?

javascript - 每个循环中只有 jquery 中的第一个元素得到更新

angular - 在 angular2 中的延迟加载模块之间共享一个外部模块

javascript - 从运行在 http 中的网站使用 https 访问 CDN

angular - 将数据从模态返回到 Angular 中的组件

类型上不存在 Angular2 属性