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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38355456/article/details/78637320

一、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

猜你喜欢

转载自blog.csdn.net/qq_38355456/article/details/78637320