数组概述-数组去重-string

数组:
程序 = 数据结构+算法
好的数据结构可以极大的提高程序的执行效率
相关的多个数据应集中存储,集中管理
数组:一组连续的变量组成的集合,统一起一个名字
批量管理多个数据

how:创建 赋值 取值
1、创建:4种

1、var 变量名 = [];创建一个空数组
2、var 变量名 = [值1,值2……]创建数组同时为数组指定初始元素
3、var 变量名 = new Array()
new 创建一个新对象(使用new创建的对象都是引用类型对象)
Array js的数组类型
4、var 变量名 = new Array(n) 创建一个n个元素的数组
new Array(值1,值2,值3…)

找到数组:找到变量等效于直接使用引用的数组对象
数组对象中每个元素都有一个下标:元素位置号
下标从0开始计算到元素个数-1结束
使用数组中每个元素:
数组变量[i]-获取i位置元素中的值

2、赋值:数组变量[i] = 新值;
3、取值:数组变量[i]

数组是引用类型对象:
数组名作为变量赋值或参与传递时,都是将地址赋值给对方
对方修改数组内容,原数组名也会受影响

null 和 undefined
undefined:所有没有值得变量默认的值,系统自动赋值
null:主动释放一个变量引用的对象;
在使用完较大的对象时,主动是释放总是好习惯

垃圾回收机制:专门释放对象内存的一个程序
运行在底层、后台并伴随程序同时运行
引擎自动调用
当对象不再被任何变量引用时,才释放
js数组 VS 其他语言数组
js数组下标越界不会出错
为不存在的位置赋值,不会出错,自动创建指定下标并且赋值新元素
为不存在的位置取值,不会出错也不会增添新元素,返回undefined

数组是对象
1、.length属性:获取数组中元素个数 != 实际元素个数

3种用法
1、arr[arr.length-1];获取到任意长度数组的最后一元素
2、arr[arr.length] = 新值;向数组末尾追加一个元素
3、改小length长度可以删除末尾元素

2、数组遍历:从下标0开始依次取出每个元素,反复执行操作
索引数组:下标从0开始分配,连续不重复的序号下标
3、关联数组:可以去自定义下标的数组

创建关联数组:
1、var arr = [];
arr[“name”] = “小明”;
arr[“height”] =180;
arr[“sex”] = “男”;
arr[“old”] =18;
console.log(arr);
关联数字length 失效
关联数组保存的都是键值对 key/value
2、var arr={“name”:”小明”,”height”:180,…..}
二维数组:
var arr = [
[1,0,0,0],
[0,1,0,0],
[0,0,1,0],
[0,0,0,1]
]

数组API:

数组去重:
这里写图片描述

这里写图片描述

内置对象:由es标准已经定义好的,由浏览器厂商已经实现的对象

11种:String Number Boolean
Array Date Math RegExp
Error
Function Object
Global

String:多个字符串组成的一个只读的集合
数组对象方法 只要是不修改原对象API 字符串都能用

String API

1、转义字符:当字符串的内容和程序的特殊符号冲突时
或字符串中包含功能字符时可以用\转化字符的意义
2、大小写转换:.toUpperCase()将所有字母转大写
.toLowerCase()将所有字母转小写
3、获取指定位置的字符:str.[i];str.chartAt(i);
4、查找关键字:str.indexOf(“关键字”,fromi);
str.lastIndexOf()
var str=”我饿了”;
5、获取子字符串:

1、.slice(star,end)
2、.substring(star,end)
3、.substr(star,n)

6、分隔字符串:.split(“”)
when:当希望字符串按照规律分隔成数组时
只要分段处理字符串,首先需要先切割再遍历
7、匹配模式:按照规则查找或替换字符串的内容;

1、.search()查找
2、获取所有关键字的内容.match()
3、替换

Math:对象封装了数学计算中常用的方法和常用的常量

1、取整:
上取整:Math.ceil()
下取整:Math.floor()
四舍五入取整:Math.round()
2、平方 开平方
Math.pow(n,m)//计算n的m次幂
Math.sqrt(n)//计算n的平方根
3、获得最大值,最小值
Math.max(a,b,c……)
Math.min(a,b,c……)
Math.max.apply(arr)–>Math.max(arr[0],arr[1]….)
4、获取随机数:Math.random()

Date:封装了一个时间点,提供了对时间操作api
封装了从1970年1月1日0点0分0秒至今的毫秒数
创建Date对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值