在JavaScript中操作数组之map()方法的使用
更新时间:2015年06月09日 09:54:27 投稿:goldensun
这篇文章主要介绍了在JavaScript中操作数组之map()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下
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中call()和apply() 的一些理解
下面小编就为大家带来一篇有关JavaScript中call()和apply() 的一些理解。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-05-05
使用Java实现简单的server/client回显功能的方法介绍
本篇文章介绍了,使用Java实现简单的server/client回显功能的方法。需要的朋友参考下2013-05-05
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
本篇文章是对js中获得父窗口链接getParent方法以及各种打开窗口的方法进行了详细的分析介绍,需要的朋友参考下2013-06-06
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
嵌套的div元素,如果父级和子元素都绑定了一些事件,那么在点击最内层子元素时可能会触发父级元素的事件,下面介绍一下js阻止默认事件与js阻止事件冒泡示例,大家参考使用吧2014-01-01


最新评论