javaScript常用方法合集

今天闲来无事,刚刚写完一个项目里面用了不少javaScript方法,于是我就做了一个简单的总结,下面大家可以一起看看

1.数组的定义

数组(array)是按次序排列的一组值。每个值的位置都有下标(从0开始),整个数组用方括号表示

let arr = ['a','b','c'];

2.创建数组的三种方法

// 第一种是我们的常规方式

    let arr = newArray();

    arr[0] = 'a'; arr[1] = 'b';

    arr[2] = 'c';

//第二种可以是简洁方式

    let arr = newArray ( 'a','b','c' );

// 第三种还可以是字面方式

    let arr = ['a','b','c'];

    let arr = [

        {a:1}, [1,2,3],

        function ( ) {

        return true;

        }

 ];

3.数组方法和属性

length 设置或返回数组元素的个数,length = 0也可以清空数组。

    let arr = ['1', '2', '3', '4', '5', '6', '7', '8'];

    console.log(arr.length)  // 7 "数组长度"

    console.log(arr.length = 0)  // 0 "数组长度"

    console.log(arr[2])  // 3 '根据下标查找出来的数组位置'

pop()  删除数组中的最后一个元素,并返回删除的元素

    let arr = ['1', '2', '3', '5', '4', '6', '7', '8'];

    arr.pop();

    console.log(arr) // ["1", "2", "3", "5", "4", "6", "7"] "删除后的数组"

push()  向数组的末尾添加一个或多个新元素,并返回新数组的长度

    let arr = [1, 2, 3, 4, 5];

    arr.push(6, 7, 8, 9)

    console.log(arr, '尾部添加数组')  // [1, 2, 3, 4, 5, 6, 7, 8, 9] "尾部添加数组"

shift()  删除数组的第一个元素,并返回删除的元素

    let arr = [1, 2, 3, 4, 5];

   arr.shift();

    console.log(arr, '删除第一项')  // [2, 3, 4, 5] "删除第一项"

unshift() 向数组的开头添加一个或多个元素,并返回新数组的长度

    let arr = [1, 2, 3, 4, 5];

   arr.unshift('A,B,C')

    console.log(arr, '向数组开头添加多个元素并返回结果')  // ["A,B,C", 1, 2, 3, 4, 5] "向数组开头添加多个元素并返回结果"

toString() 把数组转换成字符串,并返回结果

    let arr = [1,2,3,4,5,6];

    var arr1 = arr.toString()

    console.log(arr1,typeof(arr1),'转字符串')  // 1,2,3,4,5,6 string 转字符串

indexOf() 搜索数组中的元素,并返回它所在的位置,如果搜索的元素没有出现,则返回-1

   let str = [1, 2, 3, 4]

    console.log(str.indexOf(3), '查找元素位置并返回该元素下标')  // 2 "查找元素位置并返回该元素下标"

lastIndexOf() 返回指定字符串最后出现的位置,在一个字符串中指定的位置从后往前搜索。如果搜索的元素没有出现,则返回-1

    let str = [1, 2, 3, 4]

    console.log(str.lastIndexOf(5))  //  -1

    console.log(str.lastIndexOf(4))  // 3

join()  将数组中的每个元素转换成字符串,并将这些字符串连接起来

    let arr = ['a', 'b', 'c', 'd']

    console.log(arr.join());  // a,b,c,d

    console.log(arr.join(' - '));  // a - b - c - d

    console.log(arr.join(' and '));  // a and b and c and d

concat()  连接两个或多个数组,并返回合并结果,不会改变现有的数组

    let arr = ['a', 'b', 'c']

    let arr1 = ['c', 'b', 'a']

    console.log(arr.concat(arr1))  // ["a", "b", "c", "c", "b", "a"]

slice()  选取数组的一部分,并返回一个新数组,不会改变原数组

// array.slice ( start,end )

// start 可选, 规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1指最后一个元素,-2指倒数第二个元素,以此类推。

//end可选, 规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    let arr6 = ['a', 'b', 'c', 'd', 'e']

    console.log(arr6.slice(-1), '-1是最后一个元素,以此类推')  //  ["e"] "-1是最后一个元素,以此类推"

    console.log(arr6.slice(0, 2))  // ["a", "b"]

splice() 从数组中添加、删除、替换元素,会改变原数组

// array.splice(index,howmany,item1,.....,itemX)

//index必需, 规定从何处添加/删除元素。

// howmany 必需, 规定应该删除多少元素。必须是数字,但可以是"0"。    

// item1, ..., itemX 可选, 要添加到数组的新元素

    let arr1 = [ 'a','b','c','d','e' ];

    arr1.splice(0,1);

    arr1 // [ "b","c","d","e" ]

    let arr2 = [ 'a','b','c','d','e' ];

    arr2.splice(0,1,'A');

    arr2 // [ "A","b","c","d","e" ]

    let arr3 = [ 'a','b','c','d','e' ];

    arr3.splice(0,0,'A');

    arr3 // [ "A","a","b","c","d","e" ]

reverse() 用于颠倒数组中元素的顺序,会改变原数组

    let arr7 = ['a', 'c', 'd', 'e', 'f', 'g']

   console.log(arr7.reverse()) // ["g", "f", "e", "d", "c", "a"]

find() 返回符合传入测试函数条件的数组元素  

// find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。

// find() 方法为数组中的每个元素都调用一次函数执行:

// 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。// 如果没有符合条件的元素返回 undefined

    let ages = [ '10','18','20','36','50' ];

    function checkAdult (age) {

        return age >= 20;    

    }

    ages.find(checkAdult)// 20

    ages // [ '10', '18', '20','36', '50' ]

filter()  检测数值元素,并返回符合条件的所有元素的数组

//filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

    let ages = [ '10','18','20','36','50' ];

    function checkAdult (age) {

        return age >= 20;   

     }

    ages.filter(checkAdult) // [ "20","36","50" ]

    ages // [ '10','18','20','36','50' ]

includes() 判断一个数组是否包含一个指定的值   

    let ages = [ '10','18','20','36','50' ];

    ages.includes('10'); //true

    ages.includes('75'); //false

    ages // [ '10','18','20','36','50' ]

map()  通过指定函数处理数组中的每个元素,并返回处理后的

// map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

// map() 方法按照原始数组元素顺序依次处理元素。

//array.map(function(currentValue,index,arr), thisValue)

//currentValue 必须,当前元素的值//index 可选, 当期元素的索引值

//arr 可选, 当期元素属于的数组对象//this.value 可选, 对象作为该执行回调时使用,传递给函数,用作 "this" 的值。

    let ages = [ 10,18,20,36,50 ];

    let  res = ages.map( function ( item, index, input ) {

        return item *10   

     })

    res // [ 100, 180, 200, 360, 500 ]

    ages // [10, 18, 20, 36, 50]

forEach()  遍历数组,数组每个元素都执行一次回调函数,会改变原数组   

// forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

// array.forEach(function(currentValue, index, arr), thisValue)

// currentValue 必需, 当前元素// index 可选, 当前元素的索引值。

// arr 可选, 当前元素所属的数组对象。

    let  ages = [ 10,18,20,36,50 ];

    let res = ages.forEach ( function ( item, index, input) {

        input[index] = item *10;    

    })

    res // undefined

    ages // [100, 180, 200, 360, 500]

sort() 对数组的元素进行排序,默认按升序排序,会改变原数组

    let ages = [ 36,50,10,20,18 ];

    ages.sort();  // [ 10, 18, 20, 36, 50 ]

    ages // [ 10, 18, 20, 36, 50 ]

some()  检测数组元素中是否有元素符合指定条件

// some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

// some() 方法会依次执行数组的每个元素:

// 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。

// 如果没有满足条件的元素,则返回false。

    let ages = [ '10','18','20','36','50' ];

    function checkAdult ( age ) { 

        return age >= 20;    

    }

    ages.some(checkAdult) // true

    ages // [ '10', '18', '20','36', '50' ]

every() 检测数组中是否每个元素都符合指定条件

// every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

// every() 方法使用指定函数检测数组中的所有元素:

// 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

// 如果所有元素都满足条件,则返回 true。

let ages = [ '10','18','20','36','50' ];

    function checkAdult ( age ) { 

        return age >=20;   

     }

    ages.every(checkAdult) // false

    ages // [ '10', '18', '20','36', '50' ]

isArray() 判断对象是否为数组

// isArray() 方法用于判断一个对象是否为数组。

// 如果对象是数组返回true,否则返回false。

    let ages = [ '10','18','20','36','50' ];

    Array.isArray( ages ); //true

    ages // [ '10','18','20','36','50' ]

reduce()  将数组元素迭代计算为一个值(从左到右)

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

// array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

// total 必需,初始值, 或者计算结束后的返回值。

// currentValue 必需,当前元素

// currentIndex 可选,当前元素的索引

// arr 可选,当前元素所属的数组对象。

    let ages = [10,18,20,36,50];

    function getSun ( total, num ) { 

        return total + num;    

    }

    ages.reduce(getSun) // 134

    ages // ['10', '18', '20','36', '50']

生成10位数纯数字的随机数

const random = Math.floor ( ( Math.random( ) + Math.floor(Math.random( ) * 9 + 1) ) * Math.pow(10,10 - 1 )



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容