JS基础学习易遗忘知识点笔记||疑难点||(二): 内置对象,遍历数组;操作数组
2020-01-12 19:55
519 查看
变量与函数声明同名a,预解析后,函数优先,如果下面给a赋值,那么
内置对象
//求一堆数中的最大值: Math.max(一堆数); //求一个数的绝对值 正数 Math.abs(x) ; //得到当前时间的日期对象 var date = new Date();
-
获取从1970年1月1日到现在的总毫秒数,常说的时间戳
var date = new Date(); console.log(date.valueOf()); console.log(date.getTime()); console.log(1*date); console.log(Date.now());
Array
对数组元素操作:
- push 从数组后面推入一个元素或多个元素:
var arr = [1,2,3]; // 返回:修改后数组的长度 arr.push(4,5,6);
- pop 删除数组最后一个元素
// 数组的pop方法用于将数组的最后一个元素移除 var arr = [1,2,3]; // 返回 被删除的元素; arr.pop();
-
unshift 从数组前面添加一个或多个元素
var arr = [1,2,3]; // 返回:修改后数组的长度 arr.unshift(4,5,6);
-
shift 用于将数组的第一个元素移除
// 数组的shift方法用于将数组的第一个元素移除 var arr = [1,2,3]; // 返回 被删除的元素; arr.shift();
-
splice:可进行数组任何位置的增删改
// 数组的splice方法用于从数组的指定位置移除、添加、替换元素 var arr = ['a','b','c','d','e']; //------------------------------------------------- // 对原数组操作 // 作用:从索引3开始移除,总共移除1个元素 , // 返回 被移除元素组成的数组 arr.splice(3,1); console.log(arr); //---------------------------------------------------- // 在c后面添加7和8两个元素 // 作用:从索引3开始添加,移除0个元素,把7,8加入; // 返回:一个空数组 // 操作原数组; arr.splice(3,0,7,8); //----------------------------------------------------- // 作用:从索引1开始替换,总共替换1个,用0替换 ; // 返回:被替换元素组成的数组(空数组) arr.splice(1,1,0); console.log(arr);
与字符串互转
- join 用于将数组中的多元素以指定分隔符连接成一个字符串
var arr = ['刘备','关羽','张飞']; var str = arr.join('|'); console.log(str); // 刘备|关羽|张飞
- split 字符串的方法:转数字,后面为分隔的字符
// 这个方法用于将一个字符串以指定的符号分割成数组 var str = '刘备|关羽|张飞'; var arr = str.split('|'); console.log(arr);
查找元素
- indexOf:根据元素查找索引(位置),如果这个元素在数组中,返回索引,否则返回**-1**,找元素在不在数组内部,
- 场景:可以用于查找需要的元素,如果不等于-1,就说明这个数组里有要找的东西(查询是否有敏感字,有就和谐成**)
var arr = [10,20,30] console.log(arr.indexOf(30)); // 2 console.log(arr.indexOf(40)); // -1
- findIndex方法用于查找满足条件的第一个元素的索引,如果没有,则返回-1
var arr = [10, 20, 30]; var res1 = arr.findIndex(function (item) { return item >= 20;//item 回调函数,代表每一次遍历的数据,,return后面是判断条件 }); // 返回 满足条件的第一个元素的的索引(下标),若没有,返回-1 console.log(res1); var res2 = arr.findIndex(function (item) { return item >= 50; }); // -1 console.log(res2);
遍历数组专用循环!!!
-
for循环:JS基础语法;[!!!]
-
forEach循环:遍历数组;!!!
// 数组的forEach方法用于遍历数组 var arr_1 = [10,20,30,40,50]; 参数:函数(函数) //item:每个数据;index:下标;arr:当前遍历的数组 // 对本数组操作,没有返回值; arr_1.forEach(function(item,index,arr){ console.log(item,index); });
-
filter 过滤,筛选出数组中满足条件的数组,返回是一个新的数组;
// 数组的filter方法用于将数组中满足条件的元素筛选出来 // 筛选出数组中 小于 2000 的数据 var arr_1 = [1500,1800,2200,300,2600,800]; var res = arr_1.filter(function(item,index,arr){ return item < 2000; }); // fitler方法的的参数要求是一个函数,这个函数接收2个参数:item是数组中的每个元素,index是item对应的索引,arr代表当前的数组
- 数组和伪数组的核心区别:
拼接与截取
- concat 接收数组,不改变原数组,创建新数组返回
// 数组的concat方法的作用是把多个数组合并成一个新的数组 var arr1 = [1,2,3]; var arr2 = [4,5,6]; var arr3 = [7,8,9]; var res = arr1.concat(arr2,arr3); console.log(res); // 复制一个数组 var arr_1 = arr.concat();
- slice 截取数组:不对原数组操作,返回的是新的数组;
//slice: //作用:截取数组; var arr = ['a','b','c','d','e']; // 表示 从下标1(包括),截取到下表为4(不包括), var res = arr.slice(1, 4); // 如果不给第二个参数,默认就是把从start开始,到length结束的所有的元素截取 var arr_1 = arr_2.slice(1); // 复制数组:如果省略两个参数,start默认是0,end默认是length var arr_1 = arr_2.slice();
复制数组
1.for循环复制
2.forEach数组遍历
//arr:可选参数 var new_arr = []; arr.forEach(function(item,index){ new_arr.push(item); }); new_arr[0]="abc"; console.log(new_arr,arr);
3.filter 满足过滤条件的元素,组成个新数组返回;
var new_arr = arr.filter(function(item,index,arr){ return arr.indexOf(item)!=-1; }); new_arr[0] = "abc"; console.log(new_arr,arr);
4.拼接和截取
参数:不传入 返回:新数组(和arr一样) var new_arr = arr.concat(); new_arr[0] = ''; //--------------- 参数:不传入 返回:全部截取,新数组和arr一样 var new_arr = arr.slice(); new_arr[0] = "--------------------++--------"; console.log(new_arr,arr);
string不可变性
//内存栈: //数字会被干掉 var num = 10; num = 20; //对于字符串而言,字符串不会被干掉,如果替换会使原来的字符串处于内存中的游离状态; var num = "abc"; num = "cba"; //所以尽量避免使用大量的字符串的拼接; //前端性能优化
//拼接字符串 str = 'aaaa' 可以用str.concat('-----','aaaa')//拼接
//截取字符串 //------------------------- //substring //作用:截取字符串 //参数:第一个参数:截取开始的下标(包括);第二个参数:截取结束的下标(不包括) //返回:截取出来的字符串 var res = str.substring(0,3);//从0开始,3结束(不包括3) console.log(str,res); //--------------------------- //substr //作用:截取字符串 //参数:第一个参数开始下标.第二个参数,截取的个数; //返回:被截取新字符串,没有对原字符串修改; var res = str.substr(2,3); console.log(res); //------------------------ //slice //作用:截取字符串; //参数:第一个参数:截取开始的下标(包括);第二个参数;截取结束的下标(不包括) //返回:截取出来的字符串 var res = str.slice(0,3); console.log(str,res); //特别:参数可以设置负数,遇见负数,内部(负数+字符串的长度--->值 下标)
总结
-
math
random:随机条;随机渐变色; - floor:向下取整;
- ceil:向上取整;
- round:四舍五入;
- abs:绝对值(没有再取整)
Date:
获取时间戳
唯一的ID:身份证(唯一) 时间戳*随机数(前端模拟数据);比较时间字符串大小:
Array:
push-pop-unshift-shif:从后添加-从后删-从前添加-从前删
splice!!!
与字符串互转;
arr.indexOf(备查的元素):验证元素是否在数组中;
有:返回钙元素在数组中的下标;遍历:
for
forEach
filter 筛选
复制:需要把数组复制;
字符串:
-
indexOf
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 学习笔记之javaweb基础:jsp基本语法,内置对象,对JavaBean的操作语法
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
- WEB_JS学习笔记_内置对象
- js中对象和数组的遍历和简单操作
- js面向对象学习笔记之七(函数 与 基础控制结构)
- JS学习笔记-基础理论+数组
- jQuery 1.6 源码学习(六)——core.js[6]之jQuery对象/数组操作相关方法
- IOS基础学习笔记三:KVC和KVO数组的整体操作
- javascript学习笔记--数组对象的操作
- js操作数组中的数据--学习笔记
- js内置对象 学习笔记
- JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)
- 【学习】js学习笔记:对象的一些基础知识
- JS学习笔记(5)内置对象
- NO4.java学习笔记(数组、数组的操作【遍历、排序、查找】)
- 【js学习笔记-030】-- 作为关联数组对象
- java学习笔记 基础 数组模仿栈的操作
- js内置对象 学习笔记
- 【学习】js学习笔记:对象的遍历和封装特性
- 黑马程序员--Java基础学习笔记【重载、数组操作】