将对象转换为数字(数组)

时间:2018-05-18 16:09:17

标签: javascript arrays object numbers

var hasil = [ T1:"56", T2:"90", T3:"20"] 

我希望该数组与此[56, 90, 20]类似,因此我可以使用像56+90+20这样的算术运算符。

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

使用Object.values()转换为字符串数组(["56", "90", "20"])和Array.reduce()来对数组求和。由于它是一个字符串数组,因此您需要使用unary plus运算符将每个项目转换为数字:

const hasil = { T1:"56", T2:"90", T3:"20" }
const result = Object.values(hasil)
  .reduce((s, n) => +s + +n)

console.log(result)

答案 1 :(得分:1)

假设hasil是一个对象而不是一个数组,下面的代码将为您提供一组值:

var hasil = {T1:"56", T2:"90", T3:"20"}

let result = Object.values(hasil).map((value) => Number(value));

console.log(result)

修改

根据@Ori Drori的建议,我们可以使用以下速记将字符串转换为数字与地图以获得类似的结果:

var hasil = {T1:"56", T2:"90", T3:"20"}

let result = Object.values(hasil).map(Number);

console.log(result)

答案 2 :(得分:1)

您可以使用Object.values将对象转换为数组map并将Number作为回调函数传递

let hasil = {T1:"56", T2:"90", T3:"20"}
let result = Object.values(hasil).map(Number);

console.log(result);

答案 3 :(得分:0)

我猜你的意思是var hasil = { T1:"56", T2:"90", T3:"20" },一个对象。 Object.values(hasil)会得到你想要的东西。