我有一个像这样的字符串数组:
[ '[{"asnumber":0}',
'{"asnumber":1}',
'{"asnumber":2}',
'{"asnumber":3}',
'{"asnumber":4}',
'{"asnumber":5}',
'{"asnumber":6}',
'{"asnumber":7}',
'{"asnumber":8}',
'{"asnumber":9}',
'{"asnumber":10}',
'{"asnumber":11}',
'{"asnumber":12}',
'{"asnumber":13}',
'{"asnumber":14}',
'{"asnumber":15}',
'{"asnumber":16}',
'{"asnumber":17}',
等。如何在每个中创建数字数组?
答案 0 :(得分:1)
var arr = [ '[{"asnumber":0}',
'{"asnumber":2}',
'{"asnumber":4}',
'{"asnumber":6}',
'{"asnumber":8}',
'{"asnumber":10}'];
var newArr = [];
for(var i = 0; i < arr.length; i++)
{
newArr.push(Number(arr[i].replace(/\D/g,'')));
}
console.log(newArr);
正如@cookiemonster所指出的那样,将for...in
语句放在一边并使用旧的for
是好的。你可以看到它正常工作here。
答案 1 :(得分:0)
试试这个
var stringArray = [
'{"asnumber":1}',
'{"asnumber":2}',
'{"asnumber":3}',
'{"asnumber":4}',
'{"asnumber":5}',
'{"asnumber":6}',
'{"asnumber":7}',
];
var result = stringArray.map(function(x){
var obj = JSON.parse(x);
return obj ? obj.asnumber : null;
});
console.log(result);
// [1, 2, 3, 4, 5, 6, 7]
答案 2 :(得分:0)
你可以这样做:
var oldArray = ['{"asnumber":0}',
'{"asnumber":1}',
'{"asnumber":2}',
'{"asnumber":3}',
'{"asnumber":4}',
'{"asnumber":5}',
'{"asnumber":6}',
'{"asnumber":7}',
'{"asnumber":8}',
'{"asnumber":9}',
'{"asnumber":10}',
'{"asnumber":11}',
'{"asnumber":12}',
'{"asnumber":13}',
'{"asnumber":14}',
'{"asnumber":15}',
'{"asnumber":16}',
'{"asnumber":17}'],
newArray = [];
oldArray.forEach(function (element) { newArray.push(JSON.parse(element).asnumber); });