es6數組的一些函數方法使用


 

 數組函數forEach()、map()、filter()、find()、every()、some()、reduce()等

 

數組函數
(這里的回調函數中的index和arr都可以省略,回調函數后有參數是設置調整this指向的,這里暫時不使用)

forEach() -----循環
map()— —更新數組
filter()、includes()、find()、findIndex()— —篩選(刪除)數組
some()、every()— —判斷數組
reduce()— —疊加數組

 

arr.forEach()

遍歷數組全部元素,利用回調函數對數組進行操作,自動遍歷數組.length次數,且無法break中途跳出循環

因此不可控

不支持return操作輸出,return只用於控制循環是否跳出當前循環

因此難操作成新數組,新值,故不作多分析

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [1, 2, 3, 4, 5]; arr.forEach((item, index) => { console.log(index); console.log(item); console.log('-----'); }) } } }; </script>

arr.map()— —更新數組

1、創建新數組

2、不改變原數組

3、輸出的是return什么就輸出什么新數組

4、回調函數參數,item(數組元素)、index(序列)、arr(數組本身)

5、使用return操作輸出,會循環數組每一項,並在回調函數中操作

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [ { name: 'zhangsan', age: 17 }, { name: 'lisi', age: 18 }, { name: 'wangwu', age: 19 }, { name: 'xiaoliu', age: 20 } ]; let arr2 = arr.map(item => item.name); console.log(arr2); } } }; </script>

arr.join()— —生成字符串

1、生成以括號內符號分隔開的字符串

2、不改變原數組

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [1, 2, 3, 4, 5]; let str = arr.join('-'); console.log(str); } } }; </script>

 

 

 

arr.filter()、includes()、find()、findIndex()— —篩選數組
一、arr.filter()
1、創建新數組

2、不改變原數組

3、輸出的是判斷為true的數組元素形成的新數組

4、回調函數參數,item(數組元素)、index(序列)、arr(數組本身)

5、使用return操作輸出,會循環數組每一項,並在回調函數中操作

 

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [1, 2, 3, 4, 5]; let arr2 = arr.filter(item => item > 3); console.log(arr2); } } }; </script>

 

二、arr.includes()

只是判斷數組是否含有某值,不用return,不用回調函數,輸出一個true或false

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [1, 2, 3, 4, 5]; let result = arr.includes(3); console.log(result); let result2 = arr.includes(6); console.log(result2); } } }; </script>

三、arr.find()

1、不創建新數組

2、不改變原數組

3、輸出的是一旦判斷為true則跳出循環輸出符合條件的數組元素

4、回調函數參數,item(數組元素)、index(序列)、arr(數組本身)

5、使用return操作輸出,會循環數組每一項,並在回調函數中操作

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [ { name: 'zhangsan', age: 17 }, { name: 'lisi', age: 18 }, { name: 'wangwu', age: 19 }, { name: 'xiaoliu', age: 20 } ]; let person = arr.find(item => item.name === 'lisi'); console.log(person); } } }; </script>

 

四、arr.findIndex()— — 與find()相同
1、不創建新數組

2、不改變原數組

3、輸出的是一旦判斷為true則跳出循環輸出符合條件的數組元素序列

4、回調函數參數,item(數組元素)、index(序列)、arr(數組本身)

5、使用return操作輸出,會循環數組每一項,並在回調函數中操作

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [ { name: 'zhangsan', age: 17 }, { name: 'lisi', age: 18 }, { name: 'wangwu', age: 19 }, { name: 'xiaoliu', age: 20 } ]; let result = arr.findIndex(item => item.name === 'wangwu'); console.log(result); let result2 = arr.findIndex(item => item.name === 'tuzi'); console.log(result2); } } }; </script>

 

arr.some()、every()— —判斷數組
(不常用)

一、some()
1、不創建新數組

2、不改變原數組

3、輸出的是判斷為true則馬上跳出循環並return成true

4、回調函數參數,item(數組元素)、index(序列)、arr(數組本身)

5、使用return操作輸出,會循環數組每一項,並在回調函數中操作

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [1, 2, 3, 4, 5]; let result = arr.some(item => item > 4); console.log(result); let result2 = arr.some(item => item > 6); console.log(result2); } } }; </script>

二、every()— —與some相反
1、不創建新數組

2、不改變原數組

3、輸出的是判斷為false則馬上跳出循環並return成false

4、回調函數參數,item(數組元素)、index(序列)、arr(數組本身)

5、使用return操作輸出,會循環數組每一項,並在回調函數中操作

<template>
  <section class="p-10">
    <div class="app">
      <el-button type="danger" @click="get()">點擊</el-button>
    </div>
  </section>
</template>
<script> export default { methods: { get() { let arr = [1, 2, 3, 4, 5]; let result = arr.every(item => item > 0); console.log(result); let result2 = arr.every(item => item > 3); console.log(result2); } } }; </script>

 

 

 

 

 

 

 嗯,就醬~~

參考 https://blog.csdn.net/kingan123/article/details/79818566


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM