javascript Array map()方法
map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map()方法按照原始数组元素顺序依次处理元素
map()不会对空数组进行检测
map()不会改变原始数组
//语法
array.map(function(currentValue,index,arr),thisValue)
//参数说明
function(currentValue,index,arr) 必须,函数,数组中的每个元素都会执行这个函数
//函数参数
currentValue //必须,当前元素的值
index //可选,当前元素索引值
arr //可选,当前元素属于的数组对象
thisValue //可选,对象作为该执行回调时使用,传递给函数,用作this的值
返回值 返回一个新数组,数组中的元素为原始数组元素处理后的值
eg1:
<div id="demo"></div>
var numbers = [4,9,16,25];
function myFunction (){
x = document.getElementById("demo");
x.innerHTML = numbers.map(Math.sqrt); //返回一个数组,数组中元素为原始数组的平方根
}
myFunction(); //[2,3,4,5]
eg2:
<body >
<p>点击按钮将数组中的每个元素乘以输入框指定的值,并返回新数组</p>
<p>最小年龄:<input type="number" value="10" id="txt"/> </p>
<button onclick="createNewArray()">点我</button>
<div>
新数组:<span id="demo"></span>
</div>
<script>
var number = [11,22,33,44];
function aaa(num){
return num * document.getElementById('txt').value;
}
function createNewArray(){
document.getElementById('demo').innerHTML = number .map(aaa)
}
</script>
</body>
eg3:
function square(arr){
return arr.map(function(item){
return item*item;
});
}
var arr = [1,2,3,4];
console.log(square(arr)); //[1,4,9,16]