在JavaScript中操作数组之map()方法的使用
作者:bea
JavaScript 数组map()方法创建一个新的数组使用调用此数组中的每个元素上所提供的函数的结果。 语法 array.map(callback[, thisObject]); 下面是参数的详细信息: callback : 从当前的元素函数产生新的数组的元素。 thisObject : 对象作为该执行回调时使用 返回值: 返回创建数组 兼容性: 这种方法是一个JavaScript扩展到ECMA-262标准;因此它可能不存在在标准的其他实现。为了使它工作,
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
猜你喜欢
您可能感兴趣的文章:
- JS动态创建DOM元素的方法
- JavaScript获取数组最小值和最大值的方法
- JavaScript获取两个数组交集的方法
- JavaScript实现函数返回多个值的方法
- JavaScript中的getDay()方法使用详解
- JavaScript中用getDate()方法返回指定日期的教程
- JavaScript的Date()方法使用详解
- 简介JavaScript中的unshift()方法的使用
- JavaScript中的splice()方法使用详解
- JavaScript实现Iterator模式实例分析
- JavaScript中用sort()方法对数组元素进行排序的操作
- JavaScript数组迭代器实例分析
- 在Javascript中处理数组之toSource()方法的使用
- JavaScript中的some()方法使用详解
- 详解JavaScript中shift()方法的使用
- 在JavaScript中处理数组之reverse()方法的使用
- JavaScript中reduce()方法的使用详解
- 简介JavaScript中的push()方法的使用
- JavaScript中pop()方法的使用教程