在JavaScript中,数组是一个特殊的变量,用于存储不同的元素。它具有一些内置属性和方法,可用于根据需要添加,删除,迭代或操作数。并且了解JavaScript数组方法可以提升你的开发技能。
这里将介绍15种关于JavaScript的数组方法,这些方法可以帮助你正确地处理数据。
1.some()
2. reduce()
3. Every()
4. map()
5. flat()
6. filter()
7. forEach()
8. findIndex()
9. find()
10. sort()
11. concat()
12. fill()
13. includes()
14. reverse()
15. flatMap()
// Instead of using this waymyAwesomeArray.some(test => { if (test === "d") { return test }})// We'll use the shorter onemyAwesomeArray.some(test => test === "d")
译者注: some() 不会对空数组进行检测;some() 不会改变原始数组。
const myAwesomeArray = ["a", "b", "c", "d", "e"] myAwesomeArray.some(test => test === "d") //-------> Output : true
const myAwesomeArray = [1, 2, 3, 4, 5] myAwesomeArray.reduce((total, value) => total * value) // 1 * 2 * 3 * 4 * 5 //-------> Output = 120
const myAwesomeArray = ["a", "b", "c", "d", "e"] myAwesomeArray.every(test => test === "d") // -------> Output : falseconst myAwesomeArray2 = ["a", "a", "a", "a", "a"] myAwesomeArray2.every(test => test === "a") //-------> Output : true
const myAwesomeArray = [5, 4, 3, 2, 1] myAwesomeArray.map(x => x * x) //-------> Output : 25 // 16 // 9 // 4 // 1
const myAwesomeArray = [[1, 2], [3, 4], 5] myAwesomeArray.flat() //-------> Output : [1, 2, 3, 4, 5]
const myAwesomeArray = [ { id: 1, name: "john" }, { id: 2, name: "Ali" }, { id: 3, name: "Mass" }, { id: 4, name: "Mass" },] myAwesomeArray.filter(element => element.name === "Mass") //-------> Output : 0:{id: 3, name: "Mass"}, // 1:{id: 4, name: "Mass"}
const myAwesomeArray = [ { id: 1, name: "john" }, { id: 2, name: "Ali" }, { id: 3, name: "Mass" },] myAwesomeArray.forEach(element => console.log(element.name)) //-------> Output : john // Ali // Mass
const myAwesomeArray = [ { id: 1, name: "john" }, { id: 2, name: "Ali" }, { id: 3, name: "Mass" },] myAwesomeArray.findIndex(element => element.id === 3) // -------> Output : 2myAwesomeArray.findIndex(element => element.id === 7) //-------> Output : -1
const myAwesomeArray = [ { id: 1, name: "john" }, { id: 2, name: "Ali" }, { id: 3, name: "Mass" },] myAwesomeArray.find(element => element.id === 3) // -------> Output : {id: 3, name: "Mass"} myAwesomeArray.find(element => element.id === 7) //-------> Output : undefined
const myAwesomeArray = [5, 4, 3, 2, 1] // Sort from smallest to largestmyAwesomeArray.sort((a, b) => a - b) // -------> Output : [1, 2, 3, 4, 5] // Sort from largest to smallestmyAwesomeArray.sort((a, b) => b - a) //-------> Output : [5, 4, 3, 2, 1]
const myAwesomeArray = [1, 2, 3, 4, 5] const myAwesomeArray2 = [10, 20, 30, 40, 50] myAwesomeArray.concat(myAwesomeArray2) //-------> Output : [1, 2, 3, 4, 5, 10, 20, 30, 40, 50]
const myAwesomeArray = [1, 2, 3, 4, 5] // The first argument (0) is the value // The second argument (1) is the starting index // The third argument (3) is the ending indexmyAwesomeArray.fill(0, 1, 3) //-------> Output : [1, 0, 0, 4, 5]
译者注:includes() 方法区分大小写。
const myAwesomeArray = [1, 2, 3, 4, 5] myAwesomeArray.includes(3) // -------> Output : truemyAwesomeArray.includes(8) // -------> Output : false
const myAwesomeArray = ["e", "d", "c", "b", "a"] myAwesomeArray.reverse() // -------> Output : ['a', 'b', 'c', 'd', 'e']
const myAwesomeArray = [[1], [2], [3], [4], [5]] myAwesomeArray.flatMap(arr => arr * 10) //-------> Output : [10, 20, 30, 40, 50] // With .flat() and .map()myAwesomeArray.flat().map(arr => arr * 10) //-------> Output : [10, 20, 30, 40, 50]