1、构建数组
无参构造函数,创造空数组
var al=new Array();
二、利用字面量创造数组函数
1、使用
var a=[];
length是数组的默认属性,数组是一种对象。一个元素是不是对象 ,是看哟没有属性和属性值
定义数组的时候,最最后一项是;,不是逗号模式分号
数组的索引和长度
遍历数组,数组是从0开始排列,
最后一位往前遍历,
arr.length
数组的头部和尾部的增加和删除
一、尾部的添加
[2,3,4,5]
arr[4]=100;
arr[arr.length]=100;
二者是一样的
直接按回车输出结果为arr[2,3,4,5,100]
修改也是类似添加,直接改即可
尾部的删除
delete是删除一个对象的属性,能被delete删除的即是对象
全局变量 var a=1;
b=2;
二者定义的都是全局变量,但是var不是对象,用delete删除是flase.
arr.push(10);
输出结果为数组长度,且为最后一位加上10的长度
arr.pop();
输出的最后一位,并且此数字已经从数组中去掉,数组长度减少一位
堆栈后进先出,先进后出
三、头部的添加和删除
arr.shift()
输出的第一位,并且此数字已经从数组中去掉,数组长度减少一位
unshift是向后一位,前面一位空出来,需要内容,即为在第一位增加元素
arr.unshift(10)
三、splice可用于添加删除任何位置的元素
从第几位到第几位拿出来,余下的就是剩余的,自动生成。
数组的插入和替换arr.splice(1,3)删除数组第一个第二个第三个,剩余的自动生成
pop(arr)
作为一个函数,直接操作参数,去掉最后一位,输出结果仍为减掉的那个元素
需要插入的时候写个0,arr.splice(5,0,val),数组的第五个元前面素插入val参数
pop/shift/unshift/splice的得到的结果实际上是数组,在代码尾部加个[0]即可得到变化后数组得到第一位
一个数组,拼接成字符串
一个数组,一个空数组,push第一行字符串,遍历数组,再push得到字符串
slice是将数组中的一部分拿出来,其他的不发生变化.想把数组的某一段拿出来用slice
原数组不改变
concat拼接数组
reverse把一个数组逆序排列
arr.reverse()即可,翻转字符串,先将字符串翻转成数组,再逆序,再拼接
sort数组的排序(数组的大小不是按照数值 的而大小排序,而是按照字符串排序)
arr.sort()
五、字符串的比较
字符串的比较是根据asci码,看首先先看第一位。第一位如果不一样,第一位大的,字符串就大;如果第一位相同,比较第二位,同理类推
var arr=[1,100,2,3,256];
arr.sort(function(a,b)){
console.log(a,b);
conbsole.log(arr);
return a-b;});
数组从小到大排列。、
数组通过下标访问,数组拼接,用join
var str=“hello”
str[0]
"h"
查找asci码
数组常见操作是数组的拼接,只需要+即可
substr(第几位开始,长度)
substring(第几位开始,第几位结束)
字符串查找search可以查找下标,找不到为-1.如果>-1是存在的额,可以找到的,第一位是0 ,是大于-1的
str.replace( , )用一个替换另一个
str.split将数组分割
如果是str.split(' ‘)中间是个空格则将其分割,一个单词一个单词排列
如果是str.split('‘)空字符串进行分割,则是将字符串进行字符分割
如果需要将字符串里的单词进行排序
ES5数组扩展
1、判断一个数组是不是数组
Array.isArray
r如果一个元素,typeof arr是object,然后再arr instanceof Array true即可判断该元素是数组。
中间参数忘记传递
every需要每个元素都满足才为true
some只要有一个元素满足条件,即为true
forEach
map对于里面的每一项去操作它,与forEach类似,遍历数组,map操作直接针对本身,forEach是针对元素,还需要显示修改,才能展现。
filter从一堆元素中找出一个
reduce逐项求和,依次递加
math对象的属性
math.abs返回绝对值
math.max最大值
math.min最小值
取最大值最小值也可以选用遍历数组的方式,再赋值
math.random该方法返回0-1之间的随机数
取值10-20之间的数字是
10+math.floor(math.random()*10)
0,1,2,3
随机数是0.00001-2.99999
0.0001-0.49999==0
0.5-1.49999==1
0和1的概率是不相等的