Javascript:如何从Javascript对象中获取数字?

Javascript:如何从Javascript对象中获取数字?,javascript,object,split,Javascript,Object,Split,我想用Javascript将这个对象中的数字放入一个数组中。 我已经用.split(/(\d+/)尝试过了但我在Chrome中遇到了这个错误: 未捕获类型错误:data.split不是函数 如何提取数字?您的尝试无效,因为.split()是一种字符串方法-用于将字符串拆分为数组。您已经有了一个数组。JSON在这里似乎无关紧要,因为您共享的不是JSON 可以使用来变异数组的每个成员。您需要获取每个成员的test值,并对其进行解析 var data=[{test:'12312311'},{test

我想用Javascript将这个对象中的数字放入一个数组中。 我已经用
.split(/(\d+/)尝试过了但我在Chrome中遇到了这个错误:

未捕获类型错误:data.split不是函数


如何提取数字?

您的尝试无效,因为
.split()
是一种字符串方法-用于将字符串拆分为数组。您已经有了一个数组。JSON在这里似乎无关紧要,因为您共享的不是JSON

可以使用来变异数组的每个成员。您需要获取每个成员的
test
值,并对其进行解析

var data=[{test:'12312311'},{test:'12312'},{test:'12313'}];
var result=data.map(obj=>parseInt(obj.test));

控制台日志(结果)这就像一个简单的forEach一样简单。但首先您应该以某种方式忽略RowDataPacket,然后下面的代码应该可以工作

data = [ RowDataPacket { test: '12312311' },
    RowDataPacket { test: '12312312' },
    RowDataPacket { test: '12312313' } ]
可以将该方法与结合使用以返回新数组<代码>+
可用作强制运算符,将字符串值更改为数字

var numbers = [];
data.forEach(function( item ) {
  numbers.push(parseInt(item.test));
});
let data=[{test:'12312311'},{test:'12312'},{test:'12313'}],
r=data.map(({test})=>+test);

控制台日志(r)这里似乎混合了JavaScript对象和JSON。您已经有了一个JS对象,没有JSON,这不是JSON,这是一个RowDataPackets.data.map(each=>parseInt(each.test))数组,为了使拆分工作
data
需要一个字符串。但是把一个对象改成一个字符串来进行拆分真的没有意义。谢谢!
data.map(({test}) => +test);