练习:不使用JavaScript内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数

本练习来自廖雪峰JS教程。答案自写。

函数功能描述如下:
把一个字符串13579先变成Array——[1, 3, 5, 7, 9],再利用reduce()就可以写出一个把字符串转换为Number的函数。

函数代码如下:

‘use strict‘;

function string2int(s) {
var arr = [];
// 将字符串转化为数组,但此方法得到的数组的每一个元素仍是字符串
for(var i = 0; i < s.length; ++i) {
arr[i] = s[i];
}
// 定义一个新的数组用以接收上一个数组转化得到的每一个元素是整数的数组
var new_arr = [];
new_arr = arr.map(function(elem) {
return +elem; // ‘+‘可以将任何非数字转化为数字
});
// 将数组转化为连贯的整数
return new_arr.reduce(function(x,y) {
return x * 10 + y;
});
}

测试代码如下:

// 测试:
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(‘测试失败!‘);
}

经测试,符合要求。

原文地址:https://www.cnblogs.com/hgwstudy/p/9597113.html

时间: 2024-10-10 08:47:44

练习:不使用JavaScript内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数的相关文章

javascript 内置对象及常见API

javascript 内置对象及常见API 2012-09-02 15:17 571人阅读 评论(0) 收藏 举报 javascript正则表达式文档浏览器urlstring Javascript内置对象学习 全局属性 Infinity 表示正无穷大的数值 NaN 非数字值 undefined 未定义的值 decodeURI() 对encodeURI()转义的字符串解码. decodeURIComponent() 对encodeURIComponent()转义的字符串解码. encodeURI(

JavaScript进阶 - 第7章 JavaScript内置对象

第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法:能够在对象上执行的动作.例如,表单的“提交”(Submit),时间的“获取”(getYear)等: JavaScript 提供多个内建对象,比如 String.Date.Array 等等,使用对象前先定义,如下使用数组对象:   var objectNa

document和javaScript内置对象

1.Document 属性: referrer //返回载入当前文档的URL URL //返回当前文档的URL 方法: getElementById(); //根据id获取html元素对象 getElementsByName(); //根据name获取html元素对象数组 getElementsByTagName(); //根据标签名获取html元素对象数组 2.javaScript内置对象 Math ceil(); //向上取整 floor(); //向下取整 random(); //0~1的

javascript内置顶层函数

名词解释: 1.内置:  ECMAscript 内置函数:ECMAscript 自带的函数  Number() 宿主函数: BOM    DOM   alert()   prompt()   confirm(); //confirm()  弹出一个带有确定和取消按钮的一个对话框,确定返回真,取消返回假. 2.顶层 字符串函数:字符串.函数() 数组函数 顶层对象的函数,可以作用于任何对象. 内置 顶层 函数 1.escape()   对字符串进行编码 2.unescape()   对编码的字符串

Javascript 笔记与总结(2-4)Javascript 内置对象

① String 字符串对象 fromCharCode() 静态方法, 用作为参数而传递的字符代码创建一个新的字符串. length 字符串的长度. charAt() 抽取字符串中指定位置的字符. charCodeAt() 返回字符串中指定位置的字符编码. concat() 把一个或多个值连接到字符串上. indexOf() 在字符串中检索一个字符或一个子串. lastIndexOf() 在字符串中向后检索一个字符或一个子串. localeCompare() 用本地特定顺序来比较两个字符串. m

javascript内置对象(BOM)及事件

BOM 浏览器对象模型,该对象模型提供了独立于内容的,与浏览器窗口进行交互的对象 该对象提供了以下操作: histroty对象 当前窗口的浏览历史 location对象  当前文档的URL screen对象   客户端显示屏幕信息 Navigator  用户所使用的浏览器信息 location.href = 'url';//url跳转 history子对象:(操作浏览历史) 无刷新返回上一页: history.back(); 1 <a href="?page=5">第5页&

JavaScript 内置对象

JavaScript Date 对象 这个函数API蛮多的,我也没有整理,今天就来整理一下,梳理一边,图个熟悉 Data()函数 这个函数就是一个构造函数的调用方法,用new的方法调用,返回一个对象,表示的是当前的时间 var data=new Data() console.log(data) //Wed Sep 06 2017 15:50:55 GMT+0800 (中国标准时间) 或者是可以直接调用这个函数的 console.log(Date()) //Wed Sep 06 2017 15:5

javascript内置函数

1.Date:日期函数属性(1):constructor 所修立对象的函数参考prototype 能够为对象加进的属性和方法办法(43):getDay() 返回一周中的第几天(0-6)getYear() 返回年份.2000年以前为2位,2000(包括)以后为4位getFullYear() 返回完全的4位年份数getMonth() 返回月份数(0-11)getDate() 返回日(1-31)getHours() 返回小时数(0-23)getMinutes() 返回分钟(0-59)getSecond

Kettle中JavaScript内置函数说明

本文链接:https://blog.csdn.net/u010192145/article/details/102220563 我们在使用JavaScript组件的时候,在左侧核心树对象栏中可以看到Kettle为我们提供了很多简洁强大的内置函数,帮助我们在写脚本的时候对数据.参数变量等能很轻松的做处理,体验编码的感觉.本篇将详细介绍JavaScript组件中的函数功能 脚本组件包含的函数主要包括六大类,分别是: 字符串类型的函数(String Functions) 浮点型的函数(Numeric