美文网首页
00006.js 数组方(全)

00006.js 数组方(全)

作者: 笑着字太黑 | 来源:发表于2022-02-18 16:08 被阅读0次
通用规则:
1.方法参数中的start位置上的元素是被处理对象,end位置上的元素不是被处理对象
方法名:是否改变原数组
concat(): N
  功能: 合并数组,并返回合并之后的数据
  语法: array1.concat(array2, array3, ..., arrayX)
copyWithin(): Y
  功能: 将数组元素复制到数组中的另一个位置,覆盖现有值。
  语法: array.copyWithin(targetIndex, startIndex(可选), endIndex(可选))
entries() : N
  功能:返回带有index/value对的 Array Iterator 对象。
  语法:array.entries()
        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        var f = fruits.entries();
        for (x of f) {
          console.group(x);
          console.log(x[0]);
          console.log(x[1]);
          console.groupEnd();
        }
every(): N
  功能:都true则true否则false
  语法:array.every(function(currentValue(必须), index, arr), thisValue)
        var survey = [
          { name: "Steve", answer: "Yes"},
          { name: "Jessica", answer: "Yes"},
          { name: "Peter", answer: "Yes"},
          { name: "Elaine", answer: "Yes"}
        ];

        function isSameAnswer(el, index, arr) {
            console.group(arr[index].name);
            console.log('el.name is:' + el.name);
            console.log('el.answer is:' + el.answer);
            console.log('this.answer is :' + this.answer);
            console.groupEnd();
            return (el.answer === this.answer);
        }
        console.log(survey.every(isSameAnswer,survey[0]));
fill(): Y
  功能:使用指定参数值填充数组
  语法:array.fill(value, start(可选), end(可选默认数组长度))
        array.fill("笑着",1,2) //用"笑着"填充数组第二个元素
filter(): N
  功能:返回判断结果为true的元素组成的新数组
  语法:array.filter(function(currentValue, index, arr), thisValue)
find(): N
  功能:返回第一个判断结果为true的元素,找不到返回undefined
  语法:array.find(function(currentValue, index, arr), thisValue)
findIndex(): N
  功能:返回第一个判断结果为true的元素索引,找不到返回-1
  语法:array.findIndex(function(currentValue, index, arr), thisValue)
forEach(): N
  功能:为数组中每一个元素执行一次函数
  语法:array.forEach(function(currentValue, index, arr), thisValue)
Array.from(): 
  功能:从具有 length 属性或可迭代对象的任何对象返回 Array 对象。
  语法:Array.from(object, mapFunction(可选), thisValue(可选))
        var myArr = Array.from("ABCDEFG");
        object
            想要转换成数组的伪数组对象或可迭代对象。
        mapFn (可选参数)
            新数组中的每个元素会执行该回调函数。
        thisArg (可选参数)
            执行回调函数 mapFn 时  this 对象。
includes(): N 
  功能:判断数组中是否包含指定元素
  语法:array.includes(element, start(可选))
indexOf(): 
  功能:在数组中搜索指定项目,并返回第一次出现的位置。找不到返回-1
  语法:array.indexOf(item, start((可选,负值给定的位置将从结尾计数)))
Array.isArray(): 
  功能:判断对象是否为数组
  语法:Array.isArray(obj)
join(): 
  功能:将数组元素转换为字符串
  语法:array.join(separator(可选))
keys(): N
  功能:返回数组全部数组键(索引)组成的新数组
  语法:array.keys()
lastIndexOf(): 
  功能:在数组中搜索指定项目,返回最后一次出现的位置
  语法:array.lastIndexOf(item, start(可选,负值给定的位置将从结尾计数))
map(): N
  功能:为每个数组元素调用函数的结果创建新数组并返回
  语法:array.map(function(currentValue, index, arr), thisValue)
pop(): Y
  功能:方法移除数组的最后一个元素,并返回该元素。
  语法:array.pop()
push(): Y
  功能:向数组末尾添加新项目,并返回新长度。
  语法:array.push(item1, item2, ..., itemX)
这个函数的名字让人很难与其功能关联起来,
函数的功能是为数组的每一个元素调用指定函数,并累计结果,
也许函数名称修改为accumulator 会更合适一些。
reduce()/reduceRight(): N
  功能:为每一个数组元素调用函数,initialValue为首次调用时total的初始值,函数的返回值作为下一次函数调用的的total值。
  语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
        var numbers = [15.5, 2.3, 1.1, 4.7];
        var index = 1;
        function getSum(total, num) {
          console.group(index++);
          console.log('total is:' + total);
          console.log('num is:' + num);
          console.groupEnd();
          return total + num;
        }
        console.log(numbers.reduce(getSum, 0).toFixed(1));
reverse():  Y
  功能:反转数组中元素的顺序
  语法:array.reverse()
shift(): Y
  功能:删除数组中的第一个项目并返回
  语法:array.shift()
slice(): N
  功能:返回数组中指定位置元素组成的新数组
  语法:array.slice(start, end)  // start,end可选,可为负值
sort(): Y
  功能:排序
  语法:array.sort(compareFunction)
        var points = [40, 100, 1, 5, 25, 10];
        points.sort(function(a, b){return a-b});
        console.log(points);
splice(): Y
  功能:从数组添加/删除项目,并返回删除的项目。
  语法:array.splice(index, howmany, item1, ....., itemX(可选))
        howmany参数指定删除元素数量,为0则不删除
        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        var x = fruits.splice(2, 1, "Lemon", "Kiwi");
        console.log(x);
        console.log(fruits);
toString(): 
  功能:返回包含所有数组值的字符串,以逗号分隔。( join功能更强大)
  语法:array.toString()
这名字容易让人误会为undo shift啊。
unshift(): 
  功能:将新项添加到数组的开头,并返回新的长度。
  语法:array.unshift(item1, item2, ..., itemX)

相关文章

网友评论

      本文标题:00006.js 数组方(全)

      本文链接:https://www.haomeiwen.com/subject/qcrllrtx.html