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]











posted on 2018-05-10 11:22  niunf  阅读(217)  评论(0编辑  收藏  举报