Map未返回正确的数据类型

时间:2015-05-09 09:35:46

标签: javascript

 chew = '1235 51'.split(' ');
     item_id = chew[0];
     slot_go = chew[1];
     chew.map(function(v){
            return Number(v);
        }); 
console.log(chew);

它也适用于jsfiddle:http://jsfiddle.net/jk939w26/

我试图将1235和51转换成数字而不是字符串。当控制台日志被映射后进行咀嚼时,它仍会在我的阵列中返回2个字符串,而不是数字。不知道我做错了什么,希望有人可以插话,谢谢!

3 个答案:

答案 0 :(得分:2)

.map()返回一个新数组,它不会改变源数组,所以你需要捕获返回的数组并使用它

var newchew = chew.map(function (v) {
    return Number(v);
});
console.log(newchew);

演示:Fiddle

答案 1 :(得分:1)

 chew = '1235 51'.split(' ');
 item_id = parseInt(chew[0]);
 slot_go = parseInt(chew[1]);
 var array_chew = chew.map(function(v){
        return Number(v);
    }); 
 console.log(array_chew);

答案 2 :(得分:1)

Map返回一个数组。它不适用于当前阵列。另外,最好使用parseInt将字符串转换为数字