Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在map()函数中使用函数Number()将字符串转换为数字_Javascript_Function_Dictionary_Reduce - Fatal编程技术网

Javascript在map()函数中使用函数Number()将字符串转换为数字

Javascript在map()函数中使用函数Number()将字符串转换为数字,javascript,function,dictionary,reduce,Javascript,Function,Dictionary,Reduce,我想转换对象数组观察列表中给出的imdb评级。我正在尝试使用映射函数,但它没有发生。新列表只给出旧列表,没有任何更改。我做错了什么 var watchList = [ { "Metascore": "74", "imdbRating": "8.8", "imdbVotes": "1,446,708", "im

我想转换对象数组观察列表中给出的imdb评级。我正在尝试使用映射函数,但它没有发生。新列表只给出旧列表,没有任何更改。我做错了什么

var watchList = [
                {  

                   "Metascore": "74",
                   "imdbRating": "8.8",
                   "imdbVotes": "1,446,708",
                   "imdbID": "tt1375666",
                   "Type": "movie",
                   "Response": "True"
                },
                {  
                   "Metascore": "74",
                   "imdbRating": "8.6",
                   "imdbVotes": "910,366",
                   "imdbID": "tt0816692",
                   "Type": "movie",
                   "Response": "True"
                },
                {
                   "Metascore": "82",
                   "imdbRating": "9.0",
                   "imdbVotes": "1,652,832",
                   "imdbID": "tt0468569",
                   "Type": "movie",
                   "Response": "True"
                }
];



let newList=[];
newList=watchList.map(function(list){
  Number(list.imdbRating);
  return list;
});
console.log(newList);

仅声明
Number
不会改变原始值。如果希望对象的属性的
imdbRating
为数字,则必须将其赋值

var-watchList=[{“Metascore”:“74”,“imdbRating”:“8.8”,“imdbVotes”:“1446708”,“imdbID”:“tt1375666”,“Type”:“movie”,“Response”:“True”;“movie”,“Response”:“True”;“Metascore”:“74”,“imdbRating”:“8.6”,“imdbRating”:“910366”,“imdbID”:“tt0816692”,“Type”:“movie”,“Response”:“True”},{“Metascore”:“82”,“imdbRating”:“9.0”,“imdbVotes”:“1652832”,“imdbID”:“tt04569”,“Type”movie,“响应”:“真”}];
forEach(函数(列表){
list.imdbRating=编号(list.imdbRating);
});

console.log(watchList);
如果需要从字符串到整数的快速转换,可以使用
+
运算符

例如:

var newList=[];
newList=watchList.map(function(list){
    list.imdbRating = +list.imdbRating;  
    return list;
});

Number(list.imdbRating);
创建一个数字…然后忽略结果try
list.imdbRating=Number(list.imdbRating);
我要强调一个事实,即您(正确地)使用了
forEach
,而不是不适当的
映射:p但让
forEach
生成一个不必要的
返回