js数组Array方法

1. indexOf

    indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1。

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    var a = fruits.indexOf("Apple");

   a 结果输出:2

2.filter

   1)方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 
   2)不会改变原始数组

 var arr = [

      { id: 1, text: 'aa', done: true },

  { id: 2, text: 'bb', done: false }

 ]

  console.log(arr.filter(item => item.done===true))

   得到新的数组: [{id: 1, text: "aa", done: true}]

3. forEach

    使用return不能停止执行循环外的语句

4.map

 1)按照原始数组元素顺序依次处理元素,返回一个新数组

 2)map 不会对空数组进行检测

 3)map 不会改变原始数组

var users = [
  {name: "张含韵", "email": "[email protected]"},
  {name: "江一燕",   "email": "[email protected]"},
  {name: "李小璐",  "email": "[email protected]"}
];

var emails = users.map(function (user) { return user.email; });
console.log(emails)  // ["[email protected]","[email protected]", "[email protected]"]

4.reduce

 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值

arr.reduce(callback,[initialValue])
  • callback (执行数组中每个值的函数,包含四个参数)

    • previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
    • currentValue (数组中当前被处理的元素)
    • index (当前元素在数组中的索引)
    • array (调用 reduce 的数组)
  • initialValue (作为第一次调用 callback 的第一个参数)

 var items = [10, 120, 1000];

 var reducer = function add(sumSoFar, item) {

  sumSoFar.sum = sumSoFar.sum + item;

  return sumSoFar;

 };

 var total = items.reduce(reducer, {sum: 0});

 console.log(total); // {sum:1130}

 
 

猜你喜欢

转载自www.cnblogs.com/Uyaa/p/9772913.html