在JavaScript中操作数组之map()方法的使用


Posted in Javascript onJune 09, 2015

 JavaScript 数组map()方法创建一个新的数组使用调用此数组中的每个元素上所提供的函数的结果。
语法

array.map(callback[, thisObject]);

下面是参数的详细信息:

  •     callback : 从当前的元素函数产生新的数组的元素。
  •     thisObject : 对象作为该执行回调时使用

返回值:

返回创建数组
兼容性:

这种方法是一个JavaScript扩展到ECMA-262标准;因此它可能不存在在标准的其他实现。为了使它工作,你需要添加下面的脚本代码在顶部:

if (!Array.prototype.map)
{
 Array.prototype.map = function(fun /*, thisp*/)
 {
  var len = this.length;
  if (typeof fun != "function")
   throw new TypeError();

  var res = new Array(len);
  var thisp = arguments[1];
  for (var i = 0; i < len; i++)
  {
   if (i in this)
    res[i] = fun.call(thisp, this[i], i, this);
  }

  return res;
 };
}

例子:

<html>
<head>
<title>JavaScript Array map Method</title>
</head>
<body>
<script type="text/javascript">
if (!Array.prototype.map)
{
 Array.prototype.map = function(fun /*, thisp*/)
 {
  var len = this.length;
  if (typeof fun != "function")
   throw new TypeError();

  var res = new Array(len);
  var thisp = arguments[1];
  for (var i = 0; i < len; i++)
  {
   if (i in this)
    res[i] = fun.call(thisp, this[i], i, this);
  }

  return res;
 };
}

var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);

document.write("roots is : " + roots ); 

</script>
</body>
</html>

这将产生以下结果:

roots is : 1,2,3
Javascript 相关文章推荐
JS中window.open全屏命令解析及使用示例
Dec 11 Javascript
javascript实现json页面分页实例代码
Feb 20 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
JavaScript中使用Math.floor()方法对数字取整
Jun 15 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
Jan 27 Javascript
详解JavaScript中的自定义事件编写
May 10 Javascript
基于angularJS的表单验证指令介绍
Oct 21 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
Oct 27 Javascript
BetterScroll 在移动端滚动场景的应用
Sep 18 Javascript
JavaScript 中使用 Generator的方法
Dec 29 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
Vue 打包体积优化方案小结
May 20 Javascript
JavaScript中join()方法的使用简介
Jun 09 #Javascript
Jquery日期选择datepicker插件用法实例分析
Jun 08 #Javascript
Jquery实现遮罩层的方法
Jun 08 #Javascript
js正则匹配出所有图片及图片地址src的方法
Jun 08 #Javascript
Js数组排序函数sort()介绍
Jun 08 #Javascript
元素绑定click点击事件方法
Jun 08 #Javascript
JavaScript获取URL汇总
Jun 08 #Javascript
You might like
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
python循环监控远程端口的方法
2015/03/14 Python
python3+PyQt5自定义视图详解
2018/04/24 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
父亲生日宴会答谢词
2014/01/10 职场文书
学雷锋宣传标语
2014/06/25 职场文书
推广活动策划方案
2014/08/23 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏