深入学习JS中Array对象与String对象

来源:互联网 发布:linux如何创建目录链接 编辑:程序博客网 时间:2024/05/29 19:36

一、Array对象

方法描述concat()连接两个或更多的数组,并返回结果。copyWithin()从数组的指定位置拷贝元素到数组的另一个指定位置中。(ES6)every()检测数值元素的每个元素是否都符合条件。fill()使用一个固定值来填充数组。(ES6)filter()检测数值元素,并返回符合条件所有元素的数组。find()返回符合传入测试(函数)条件的数组元素。findIndex()返回符合传入测试(函数)条件的数组元素索引。forEach()数组每个元素都执行一次回调函数。indexOf()搜索数组中的元素,并返回它所在的位置。join()把数组的所有元素放入一个字符串。lastIndexOf()返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。map()通过指定函数处理数组的每个元素,并返回处理后的数组。pop()删除数组的最后一个元素并返回删除的元素。push()向数组的末尾添加一个或更多元素,并返回新的长度。reduce()将数组元素计算为一个值(从左到右)。reduceRight()将数组元素计算为一个值(从右到左)。reverse()反转数组的元素顺序。shift()删除并返回数组的第一个元素。slice()选取数组的的一部分,并返回一个新数组。some()检测数组元素中是否有元素符合指定条件。sort()对数组的元素进行排序。splice()从数组中添加或删除元素。toString()把数组转换为字符串,并返回结果。unshift()向数组的开头添加一个或更多元素,并返回新的长度。valueOf()返回数组对象的原始值。使用示例:

1、concat语法:array1.concat(array2,array3,...,arrayX)

    var hege = ["Cecilie", "Lone"];    var stale = ["Emil", "Tobias", "Linus"];    var kai = ["Robin"];    console.log(hege.concat(stale, kai));

2、copyWithin语法:array.copyWithin(target, start, end)
    var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"];    fruits.copyWithin(2, 0, 2);    console.log(fruits);

3、fill语法:array.fill(value, start, end)注意类比copyWidth语法

    var fruits = ["Banana", "Orange", "Apple", "Mango"];    fruits.fill("Runoob", 2, 4);    console.log(fruits);


4、ever语法:array.every(function(currentValue,index,arr), thisValue)方法用于检测数组中的每个元素是否都满足指定条件 返回一个布尔类型的结果

    var ages = [32, 33, 16, 40];    function checkAdult(age, index) {        return age >= 18;    }    console.log(ages.every(checkAdult)); //结果false

some语法:array.some(function(currentValue,index,arr),thisValue)方法用于检测数组中的元素是否满足指定条件(函数提供)。
    var ages = [32, 33, 16, 40];    function checkAdult(age, index) {        return age >= 18;    }    console.log(ages.some(checkAdult))  //结果true


5、filter语法:array.filter(function(currentValue,index,arr), thisValue)类比于ever语法
    var ages = [32, 33, 16, 40];    function checkAdult(age, index) {        return age >= 18;    }    console.log(ages.filter(checkAdult))

6、forEach语法:array.forEach(function(currentValue, index, arr), thisValue)
    var numbers = [65, 44, 12, 4];    function myFunction(item, index, arr) {        arr[index] = item * 10;        console.log(arr[index])    }    console.log(numbers.forEach(myFunction))

7、map语法:array.map(function(currentValue,index,arr), thisValue)    类比于forEach语法
    var numbers = [65, 44, 12, 4];    function myFunction(item, index, arr) {        return item * 10;    }    console.log(numbers.map(myFunction))
对于forEach和map的比较:如果需要返回处理后的数组用map,如果不需要返回处理有的数组,用forEach

8、indexOf语法:array.indexOf(item,start) 第一个参数是查找的元素,第二个参数是从第几个位置开始
    var fruits = ["Banana", "Orange", "Apple", "Mango", "Banana", "Orange", "Apple"];    console.log(fruits.indexOf("Apple", 4));     //结果为6    console.log(fruits.indexOf("Apple"));       //结果为2

9、lastIndexOf语法:array.lastIndexOf(item,start) 对比于indexOf语法
    var fruits = ["Banana", "Orange", "Apple", "Mango", "Banana", "Orange", "Apple"];    console.log(fruits.lastIndexOf("Apple", 4));  //结果为2    console.log(fruits.lastIndexOf("Apple"));    //结果为6

10、join语法:array.join(separator)   separator为分隔符号(把Array拼接为String)
    var fruits = ["Banana", "Orange", "Apple", "Mango"];    var energy = fruits.join(" + ");    console.log(energy);

11、pop语法:array.pop()  删除数组最后一个元素并且返回被删除的元素
    var fruits = ["Banana", "Orange", "Apple", "Mango"];    console.log(fruits.pop());    console.log(fruits);

12、push语法:array.push(item1, item2, ..., itemX)    方法可向数组的末尾添加一个或多个元素,并返回新的长度。
    var fruits = ["Banana", "Orange", "Apple", "Mango"];    console.log(fruits.push('lelele'));    console.log(fruits);

13、shift语法:array.shift()  删除数组第一个一个元素并且返回被删除的元素

14、unshift语法:array.unshift(item1, item2, ..., itemX)    方法可向数组的开始处添加一个或多个元素,并返回新的长度。

15、累加器reduce:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
total  必需。初始值, 或者计算结束后的返回值。    currentValue    必需。当前元素     currentIndex    可选。当前元素的索引
    var numbers = [15.5, 2.3, 1.1, 4.7];    function getSum(total, num) {        return total + Math.ceil(num);    }    console.log(numbers.reduce(getSum))

16、reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。

17、reverse语法:array.reverse()  //用于翻转数组

    var fruits = ["Banana", "Orange", "Apple", "Mango"];    fruits.reverse();    console.log(fruits);

18、sort语法:array.sort(sortfunction)    sortfunction可选。规定排序顺序。必须是函数。
数字排序-升序排列:
    var points = [40, 100, 1, 5, 25, 10];    points.sort(function (a, b) {        return a - b    });    console.log(points);

数字排序-降序排列
    var points = [40, 100, 1, 5, 25, 10];    points.sort(function (a, b) {        return b - a    });    console.log(points);

按照字母排序(按照字母表摆列):
    var fruits = ["Banana", "Orange", "Apple", "Mango"];    fruits.sort();    console.log(fruits);

19、slice语法:array.slice(start, end)
    var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];    var citrus = fruits.slice(1, 3);    console.log(fruits);    //结果:["Banana", "Orange", "Lemon", "Apple", "Mango"]    console.log(citrus);    //结果:["Orange", "Lemon"]

20、splice语法:array.splice(index,howmany,item1,.....,itemX):
index:必需。规定从何处添加/删除元素。    howmany:必需。规定应该删除多少元素。必须是数字,但可以是 "0"。
item:可选,如果有item,就是删除元素之后在添加,如果没有就只只输出元素
    var fruits = ["Banana", "Orange", "Apple", "Mango"];    fruits.splice(2, 1, "Lemon", "Kiwi");    console.log(fruits);

21、toString语法:array.toString()
    var fruits = ["Banana", "Orange", "Apple", "Mango"];    console.log(fruits.toString());//结果:Banana,Orange,Apple,Mango

22、find语法:array.find(function(currentValue, index, arr),thisValue)
currentValue:必需。当前元素
find() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素。
    var ages = [4, 12, 16, 20];    function checkAdult(age) {        return age >= 16;    }    console.log(ages.find((checkAdult)))    //结果:16

23、findIndex语法:array.findIndex(function(currentValue, index, arr), thisValue)
findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
 var ages = [4, 12, 16, 20];    function checkAdult(age) {        return age >= 16;    }    console.log(ages.findIndex((checkAdult)))    //结果:16

原创粉丝点击