js小题狂练(1)-map+reduce字符串转整型
2018-02-15 00:20
429 查看
from 廖雪峰js教程
想办法把一个字符串
// 测试:
if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) {
if (string2int.toString().indexOf('parseInt') !== -1) {
console.log('请勿使用parseInt()!');
} else if (string2int.toString().indexOf('Number') !== -1) {
console.log('请勿使用Number()!');
} else {
console.log('测试通过!');
}
}
else {
console.log('测试失败!');
}法一:比较无耻的觉得没有用number和parseint却用了-0'use strict'
function string2int(s){
var arr=[];
for(var i of s)
arr.push(i-0);
return arr.reduce(function(x,y){
return x*10+y;
});
}法二:应该就是作者期待的答案了吧,map+reduce'use strict'
function string2int(s){
var arr=s.split("");
function toInt(zm){
return +zm;
}
var res=arr.map(toInt);//注意不能直接arr.map,他像slice不像splice会改变原数组
return res.reduce(function(x,y){
return x*10+y;
});
}后来看了下有人写的是var arr=[...s];这个和s.split("")那个在控制台的结果是一样的,神奇的...,活久见.mdn也没查到,希望有大神指点
想办法把一个字符串
13579先变成
Array——
[1, 3, 5, 7, 9],再利用
reduce()就可以写出一个把字符串转换为Number的函数。不要使用JavaScript内置的
parseInt()函数,利用map和reduce操作实现一个
string2int()函数:
// 测试:
if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) {
if (string2int.toString().indexOf('parseInt') !== -1) {
console.log('请勿使用parseInt()!');
} else if (string2int.toString().indexOf('Number') !== -1) {
console.log('请勿使用Number()!');
} else {
console.log('测试通过!');
}
}
else {
console.log('测试失败!');
}法一:比较无耻的觉得没有用number和parseint却用了-0'use strict'
function string2int(s){
var arr=[];
for(var i of s)
arr.push(i-0);
return arr.reduce(function(x,y){
return x*10+y;
});
}法二:应该就是作者期待的答案了吧,map+reduce'use strict'
function string2int(s){
var arr=s.split("");
function toInt(zm){
return +zm;
}
var res=arr.map(toInt);//注意不能直接arr.map,他像slice不像splice会改变原数组
return res.reduce(function(x,y){
return x*10+y;
});
}后来看了下有人写的是var arr=[...s];这个和s.split("")那个在控制台的结果是一样的,神奇的...,活久见.mdn也没查到,希望有大神指点
相关文章推荐
- 示例:将通过js获取的json字符串转换为Map、List集合(不太重要)
- js字符串转整型
- JS--Array的常用方法map、reduce、filter、forEach、indexOf
- JS怎么把字符串数组转换成整型数组
- js map, reduce, forEach, filter的一般实现
- JS高级函数--------map/reduce
- js中数组过滤、遍历、迭代every、some、filter、map、forEach、reduce、reduceRight
- JS怎么把字符串数组转换成整型数组
- 你的编程语言可以这样做吗?(map/reduce的js示范) (转)
- JS学习记录 - map and reduce
- js字符串转整型
- JS中的map、reduce
- [从codewars学习到的JS系列1]数组方法reduce(),map(),正则$1等的使用
- map映射 【字符串&整型】
- python用reduce和map把字符串转为数字的方法
- 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456
- JS学习笔记1——不要使用JavaScript内置的parseInt()和Number()函数,利用map和reduce操作实现一个string2int()函数
- js数组中forEach/some/every/map/filter/reduce的区别
- 利用map和reduce编写实现字符串转化为浮点数的str2float()函数
- JS怎么把字符串数组转换成整型数组