18720358503
4000-399-004
发表日期:2021-04-02 21:22文章编辑:jianzhan浏览次数: 标签:
//类数字能量数组转数字能量数组 let array = { 0: '蓝天白云', 1: '18', 2: '男', 3: ['user1', 'user2', 'user3'], 'length': 4 let arr = Array.from(array) console.log(arr) // ['蓝天白云','18','男',['user1','user2','user3']] //标识符串中的数字能量数组 var str ="123"; // String是可迭代更新的 Array.from(str); // [ '1', '2', '3'] //应用引入拷贝数字能量数组 var array = [{name:'阿龙'}]; var newArray = Array.from(array); newArray[0].name; //阿龙 array[0].name ="蓝天白云"; newArray[0].name; //蓝天白云 //该值是拷贝数字能量数组中"蓝天白云"的变更,由于它是浅拷贝的 //针对数字能量数组內部的数字能量数组,这也主要表现同样 var array = [[1, 2]] var newArray = Array.from(array); array[0][0] = 5; console.log(newArray) ;//[[5, 2]] //从具备反复值的数字能量数组建立唯一值的新数字能量数组 var array = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1]; var set = new Set(array); //删掉反复的原素 var uniqueArray = Array.from(set)// [1,2,3,4,5] //应用map涵数 var array = [1, 2, 3, 4, 5] var doubledArray = Array.from(array, (value, index) = value + value) //[2,4,6,8,10] //大家还能够从目标建立一个Array。假如目标具备特性length 。假如一个目标具备length特性,则Array.from觉得它是一个可迭代更新目标并建立一数量组,length并将该值设定为undefined。 var obj = { length: 3 } var array = Array.from(obj);//[undefined, undefined, undefined]; //大家可使用map涵数和上边的编码来建立一个将转化成带数据的数字能量数组的涵数 function fillArray(length) { var obj = { length }; return Array.from(obj, (val, index) = index); fillArray(10);[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] //您能够将this主要参数做为第三个主要参数传送并在map涵数内应用它 //假如大家传送undefined或null,则抛出去cannot convert undefined or null to object不正确 //假如传送了非可迭代更新目标,则回到一个 empty-array2.Array.isArray()此方式查验传送的主要参数是不是为数字能量数组
Array.isArray([]); //true Array.isArray([1]); //true Array.isArray(new Array());//true // Array.prototype is an array of functions Array.isArray(Array.prototype); //回到false实例: Array.isArray(); Array.isArray({}); Array.isArray(null); Array.isArray(undefined); Array.isArray(100); Array.isArray('Array'); Array.isArray(true); Array.isArray(false); Array.isArray(new Uint8Array(32)); Array.isArray({ __proto__: Array.prototype });3.Array.of()Array.of 方式从传送的主要参数建立一个新数字能量数组
Array.of(1) // [1] Array.of(1,"str",[1, 2],{ n:10 } ) // [1,“string”,Array(3),{...}]4.Array.concat合拼数字能量数组array or value传送并建立一个新数字能量数组。回到的数字能量数组是传送的主要参数的浅表团本
array1.concat[array2,arr3,arr4,....arrN]比如:
var array = [1, 2, 3] var newArr = array.concat([7, 8, 9], [4, 5, 6]); // [1,2,3,7,8,9,4,5,6]5.Array.keys该keys()方式回到一个Array Iterator包括数字能量数组数据库索引的新目标
var arr = [1, 2, 3]; var keys = arr.keys(); //它回到一个Array迭代更新器 console.log(...keys) //中间的差Object.keys()和Array.keys()是Array.keys()也采用孔做为指标值 var arr = [1,,3]; Object.keys(arr); // [0,2] console.log(...arr.keys())// 0,1,2 // undefined并不是一个洞 var arr = [1,undefined,2] Object.keys(arr); // [0,1,2] console.log(...arr.keys())// 0,1,26.Array.values()Array.values()方式回到一个Array iterator包括数字能量数组值的目标。根据应用迭代更新器,大家能够迭代更新解析xml数字能量数组的全部值
var array = ['阿龙', '阿虎', '阿豹', '蓝天白云']; var arrayIterator = array.values(); // Array iterator console.log(...arrayIterator) //阿龙 阿虎 阿豹 蓝天白云 //或是大家可使用for ...来迭代更新迭代更新器 for (let vehicle of arrayIterator) { console.log(vehicle);// 阿龙 阿虎 阿豹 蓝天白云 }7. Array.entries()该entries方式回到一个Array Iterator包括该index-value多数组的回到值,重要是数字能量数组的数据库索引
var array = ['a','b','c']; var iterator = array.entries(); console.log(...iterator) // [0,“a”] [1,“b”] [2,“c”] //或是大家能够用以... for (let entry of iterator) { console.log(entry); //輸出 [0,“a”] [1,“b”][2,“c”] for (const [index, element] of iterator) console.log(index, element); //輸出 0“a” 1“b” 2“c”8.Array.push()push方式将原素加上到数字能量数组的结尾,此方式回到新长短
var array = ['阿龙', '阿虎', '阿豹', '蓝天白云'] var newLen = array.push('blog'); // 5 //array:['阿龙', '阿虎', '阿豹', '蓝天白云','blog']9.Array.unshift()该unshift()方式与push方式同样,唯一的差别是,它将原素加上到数字能量数组的开始
var array = ['阿龙', '阿虎', '阿豹', '蓝天白云'] var newLen = array.unshift('blog'); // 5 //array:['blog','阿龙', '阿虎', '阿豹', '蓝天白云']10.Array.pop()该pop()方式删掉数字能量数组的最终一个原素
var array = ['阿龙', '阿虎', '阿豹', '蓝天白云'] array.pop()//['阿龙', '阿虎', '阿豹']11. Array.shift()该方式从数字能量数组中删掉第一个原素
var array = ['阿龙', '阿虎', '阿豹', '蓝天白云'] array.shift()//[ '阿虎', '阿豹', '蓝天白云']12. Array.toString()该toString()方式将数字能量数组变换为标识符串,并回到标识符串
var array = ["蓝天白云本人blog",168]; array.toString();//蓝天白云本人blog,168 //提示:假如在其中有一切目标,则将其变换为 [object Object],或是说假如数字能量数组中包括数字能量数组也便是普遍的二维三维数字能量数组,用此方式也将被展平成标识符串13. Array.join()此方式根据联接数字能量数组的全部原素来建立标识符串
var array = ['蓝天白云','蓝天白云本人blog']; array.join(); //“蓝天白云,蓝天白云本人blog” array.join("|"); //“蓝天白云|蓝天白云本人blog”14. Array.includes()此方式检测原素是不是存有于数字能量数组中。假如它在数字能量数组中,则回到true,不然回到false,该方式遵照同样的Array.indexOf方式定义
[1, 2, 3].includes(2); // true [1, 2, 3].includes(4); // false15. Array.reverse()此方式展平多维度数字能量数组,并回到一个新数字能量数组
var array = [1, 2, 3, 4,[1, 2]] var newArray = array.flat(); // [1,2,3,4,1,2]16.Array.some()该array.some 方式查验是不是return true 出示了检测涵数的数字能量数组中的一切一个原素
array.some(testFunction, thisArg(optional));比如:
function isOdd(value, index, array) { return value % 2; [2, 6, 8, 0, 4].some(isOdd); // false [12, 5, 8, 1, 4].some(isOdd); // true17.Array.every()该array.every 方式查验是不是returns true 出示了检测涵数的数字能量数组的全部原素,它回到true,假如全部原素都根据了检测,则回到false
function isOdd(value, index, array) { return value % 2; [1, 7, 8, 1, 5].every(isOdd); // false [11, 5, 9, 1, 7].every(isOdd); // true18.Array.sort()该sort方式多数组的原素开展排列并回到已排列的数字能量数组
var arr = [4, 3, 6, 5, 7, 2, 1]; arr.sort(); console.log(arr); //輸出結果[1,2,3,4,5,6,7] var arr = [4, 3, 6, 5, 7, 2, 1]; arr.sort(); arr.sort(function (a, b) { return b - a; console.log(arr); //輸出結果[7,6,5,4,3,2,1]19.Array.fill()此方式应用给定范畴的给定值更换(改动)数字能量数组的值
var array = [1, 2, 3, 4, 5] array.fill(3, 2, 4) // [1, 2, 3, 3, 5] array.fill(8, 1, 2) // [1, 8, 3, 3, 5] //假如刚开始和完毕数据库索引同样,则不容易产生添充 array.fill(9, 1, 1) // [1, 8, 3, 3, 5] //大家还可以为刚开始和完毕数据库索引主要参数传送负数据库索引 array.fill(9, -3, -2) // [1, 8, 9, 3, 5] //假如大家传送起止数据库索引 完毕数据库索引随后沒有添充 array.fill(19, 4, 3) // [1, 8, 9, 3, 5]20.Array.reduce()educe() 方式对累加器和数字能量数组中的每一个原素 (从左往右)运用一个涵数,将其降低为单独值
var res = [ 0, 1, 2, 3, 4 ].reduce(( accumulator, currentValue, currentIndex, array ) = { return accumulator + currentValue; //10 });21.Array.filter()此方式依据出示的作用过虑数字能量数组原素
比如,在一个Array中,删除偶数,只保存单数:
var arr = [1, 2, 4, 5, 6, 9, 10, 15]; var r = arr.filter(function (x) { return x % 2 !== 0; r; // [1, 5, 9, 15] //或是Array中的空标识符串删除,能够那么写: var arr = ['A', '', 'B', null, undefined, 'C', ' ']; var r = arr.filter(function (s) { return s s.trim(); // 注:IE9(不包括IE9)下列的版本号沒有trim()方式 arr; // ['A', 'B', 'C']22. Array.map()map涵数实行对于数字能量数组的全部原素出示的涵数并转化成一个新数字能量数组,并回到该数字能量数组
const array = [1, 3, 6, 9]; const newArray = array.map(function (value) { return value + 1; console.log(newArray);// [2, 4, 7, 10] console.log(array);//[1, 3, 6, 9]23.Array.forEach()该forEach方式实行一个做为主要参数出示的方式,对阵数字能量数组的每一个原素一次
const numbers = [1, 2, 3, 4, 5]; const copy = []; for (let i = 0; i numbers.length; i++) { copy.push(items[i]); items.forEach(function (item) { copy.push(item); });24. Array.slice()该slice方式回到一个包括源数字能量数组一部分的新数字能量数组
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; // [0,1,2,3,4,5,6,7,8] // [-10,-9,-8,-7,-6,-5,-4,-3,-2,-1] document.writeln(arr.slice(5)); // 輸出:6,7,8,9 document.writeln(arr.slice(-5)); // 輸出:5,6,7,8,9 document.writeln(arr.slice(0, 3)); // 輸出:1,2,3 document.writeln(arr.slice(1, 2)); // 輸出:2 document.writeln(arr.slice(3, -2)); // 輸出:4,5,6,7 document.writeln(arr.slice(1, 9999)); // 輸出:2,3,4,5,6,7,8,925.方式Array.splice()splice()方式根据删掉目前原素和 / 或加上新原素来变更一数量组的內容
[14, 3, 77].splice(1, 2) // [3, 77]