ES5和ES6数组方法】的更多相关文章

ES5 方法 indexOf和lastIndexOf 都接受两个参数:查找的值.查找起始位置不存在,返回 -1 :存在,返回位置.indexOf 是从前往后查找, lastIndexOf 是从后往前查找. var a = [2, 9, 9]; a.indexOf(2); // 0 a.indexOf(7); // -1 if (a.indexOf(7) === -1) { // element doesn't exist in array } var numbers = [2, 5, 9, 2]…
ES6 数组方法拓展 1.Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map).下面是一个类似数组的对象,Array.from将它转为真正的数组. let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; // ES5的写法 var arr1 = [].slice.call(ar…
ES6数组方法 以下方法添加到了Array.prototype对象上(isArray除外) indexOf 类似字符串的indexOf()方法 stringObject.indexOf(searchvalue,fromindex) var data = [2, 5, 7, 3, 5]; console.log(data.indexOf(5, "x")); // 1 ("x"被忽略) console.log(data.indexOf(5, "3")…
内容要点: ES5中定义了9个新的数组方法来遍历.映射.过滤.检测.简化和搜索数组. 概述:首先,大多数方法的第一个参数接收一个函数,并且对数组的每个元素(或一个元素)调用一次该函数. 如果是稀疏数组,对不存在的元素不调用传递的函数. 在大多数情况下,调用提供的函数使用三个参数:数组元素.元素的索引和数组本身. 通常,只需要第一个参数值,可以忽略后两个参数.大多数ES5数组的方法的第一个参数是一个函数,第二个参数是可选的.如果有第二个参数,则调用的函数被看做是第二个参数的方法. 也就是说,在调用…
存在的差异:1. 私有数据继承差异 es5:执行父级构造函数并且将this指向子级 es6:在构造函数内部执行super方法,系统会自动执行父级,并将this指向子级2. 共有数据(原型链方法)继承的差异 es5:子级原型链上的赋值,继承父级原型链上数据 es6:extend 父级,会自动将父级原型链上的数据给子级3. 原型链上的共有数据是否可枚举for in es5:可以枚举 es6:不可枚举4. 构造函数的指向 es5:需要改变constructor的指向 es6:不需要改5. 静态方法的写…
ES5新增:(IE9级以上支持)1.forEach():遍历数组,无返回值,不改变原数组.2.map():遍历数组,返回一个新数组,不改变原数组.3.filter():过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组.4.reduce():让数组的前后两项进行某种计算,然后返回其值,并继续计算,不改变原数组,返回计算的最终结果,从数组的第二项开始遍历.5.some():遍历数组的每一项,有一项返回true,则停止遍历,返回 true,不改变原数组.6.every():遍历数组的每一项,每…
关于数组中forEach() .map().filter().reduce().some().every()的总结 1. forEach() let array = [1,2,3,4]; array.forEach((item, index, array) => { console.log(item); }); forEach会遍历数组, 没有返回值, 不允许在循环体内写return, 不会改变原来数组的内容. 2. map() let array = [1, 2, 3, 4]; let tem…
1. forEach const colors = ['red', 'blue', 'green'] colors.forEach(function (params) { console.log(params) }) 2. map  重构-返回数组 const porducts = [ { name: 'cucumber', type: 'vegetable', quantity: 0, price: 1 }, { name: 'cucumber', type: 'vegetable', qua…
数组数据的排序及去重 sort无形参的排序方式 arr1=[2,12,3,15]; var a=arr1.sort();console.log(arr1);console.log(a);//排序会改变原本数组是顺序,是依据首个字符的大小开始排名 sort有形参的排序方式 方法1 arr2=[2,12,3,15]; var b=arr2.sort(function(n1,n2){if(n1>n2){return 1}})/*自定义形参n1>n2时,return正值是指将n1与n2调换位置,即数据…
数组方法: 1.Array.join([param]) 方法:将数组中所有的元素都转换为字符串并连接起来,通过字符 param 连接,默认使用逗号,返回最后生成的字符串 2.Array.reverse() 方法:将数组中的元素颠倒顺序(在原数组中重新排列它们),返回逆序数组 3.Array.sort([function]) 方法:将数组中的元素按字母表顺序排序并返回排序后的数组,可选参数 function 是一个比较函数,它定义了排序的规则 4.Array.concat([params]) 方法…