JS-数组API 偏执的太偏执、 2022-06-11 23:23 164阅读 0赞 ## 1、ES3数组方法 ## 增加:(返回值为数组length) push(); unshift(): 去除:(返回值为去除元素) pop(); shift(); 插入、替换、删除:(slice方法返回新数组) splice( start, num, docus ); 参数:1、开始索引 2、个数 3、....添加元素 slice( start, end); 参数:1、开始索引 2、结束索引 (参数可以是负数) 翻转: reverse(); 转换为字符串: join( ' ' ); 合并数组:(返回新数组) concat(); 排序: sort(); 数组排列,数组中对象的某属性排列 1. 默认按照UniCode编码来排序 2. 使用sort方法的回调函数来指定排序规则 * 定义回调函数的两个形参a , b * * a 相对于 b 位置在前 * * 如果回调函数的返回值 大于 0,交换位置 * * 如果返回值 小于 0 ,不交换位置 * * 如果返回值 等于 0,保持相对位置 self.data.sort( function( a, b ) { return a[ sortBy ] > b[ sortBy ] ? -sortKey : sortKey; } ); ## 2、ES5数组方法 ## forEach(): 第1个是遍历的数组内容;第2个是对应的数组索引,第3个是数组本身 [].forEach(function(value, index, array) { // ... }); forEach除了接受一个必须的回调函数参数,还可以接受一个可选的上下文参数(第2个参数) array.forEach(callback,[ thisObject]) var database = { users: ["张含韵", "江一燕", "李小璐"], sendEmail: function (user) { if (this.isValidUser(user)) { console.log("你好," + user); } else { console.log("抱歉,"+ user +",你不是本家人"); } }, isValidUser: function (user) { return /^张/.test(user); } }; // 给每个人法邮件 database.users.forEach( // database.users中人遍历 database.sendEmail, // 发送邮件 database // 使用database代替上面标红的this ); 手动实现:foreach方法: if (typeof Array.prototype.forEach != "function") { Array.prototype.forEach = function (fn, context) { for (var k = 0, length = this.length; k < length; k++) { if (typeof fn === "function" && Object.prototype.hasOwnProperty.call(this, k)) { fn.call(context, this[k], k, this); } } }; } 注意:如果这第2个可选参数不指定,则使用全局对象代替(在浏览器是为window),严格模式下甚至是undefined map(): 是原数组被“映射”成对应新数组 [].map(function(value, index, array) { // ... }); var data = [1, 2, 3, 4]; var arrayOfSquares = data.map(function() { }); 手动实现map方法: if (typeof Array.prototype.map != "function") { Array.prototype.map = function (fn, context) { var arr = []; if (typeof fn === "function") { for (var k = 0, length = this.length; k < length; k++) { arr.push(fn.call(context, this[k], k, this)); } } return arr; }; } filter():返回值为新数组 array.filter(callback,[ thisObject]); some():返回值为true或false array.some(callback,[ thisObject]); every():返回值为true或false array.every(callback,[ thisObject]); ## 3、数组检测 ## Array.isArray(); [] instanceof Array Object.toString.call( arr ).slice(8,-1); arr.constructor;//Array
相关 JS--数组 原文网址:[JS--数组\_IT利刃出鞘的博客-CSDN博客][JS--_IT_-CSDN] 其他网址 [分析Array.apply(null, \{ length: 今天药忘吃喽~/ 2022年12月27日 15:23/ 0 赞/ 160 阅读
相关 js数组JavaScript数组 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> 亦凉/ 2022年10月09日 04:48/ 0 赞/ 203 阅读
相关 JS-数组API 1、ES3数组方法 增加:(返回值为数组length) push(); unshift(): 去除:( 偏执的太偏执、/ 2022年06月11日 23:23/ 0 赞/ 165 阅读
相关 js数组API--温故知新 js数组API--温故知新 一 、concat concat() 方法用于连接两个或多个数组。 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。 灰太狼/ 2022年06月07日 00:36/ 0 赞/ 196 阅读
相关 JS数组API知识点总结 / 数组API知识点总结 / var arr = [1, 2, 5, 4, 3, 6, 7, 8, 4]; / 数字转 淡淡的烟草味﹌/ 2022年06月03日 08:12/ 0 赞/ 220 阅读
相关 JS数组 shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shi 古城微笑少年丶/ 2022年06月03日 00:26/ 0 赞/ 226 阅读
相关 js_数组 1) 创建数组: 第一种方式: var arr = \[\];// 初始化一个空长度的数组 第二种方式: var arr = new Array(); 2) 数 绝地灬酷狼/ 2022年05月25日 05:43/ 0 赞/ 219 阅读
相关 JS数组 JS作为动态的弱类型语言,其数组总结来说有以下特征: 数组长度可变。 数组中元素数据类型可以随意。 数组不会越界。访问未赋值的数组元素,元素的值为undefined。 喜欢ヅ旅行/ 2022年05月15日 05:38/ 0 赞/ 213 阅读
相关 JS数组 目录 一、什么是数组 二、数组的书写 1.通过构造函数创建 2.字面量创建 三、数组的操作 1.数组的添加 刺骨的言语ヽ痛彻心扉/ 2021年09月07日 06:03/ 0 赞/ 527 阅读
还没有评论,来说两句吧...