1.定义方式
java定义数组的方式:
int a[]=new int[2]
int b[]={1,2}
int c[]=new int[]{1,2}
js定义数组的方式:
var a={1,2}
var b=new Array()
var c=new Array(3)
2.性质
java的数组值存在堆中,毕竟堆的内存较大,而引用存在栈中,仅占用4字节。并且数组必须指定长度,确定下来无法改变。
js的数组长度可变,不会出现数组越界情况,如果某个元素未赋值则为"",越界则为undefined。
3.方法
js中:
Array.isArray(对象)---->判断这个对象是不是数组
concat(数组,数组,数组,...) 组合一个新的数组
every(函数)--返回值是布尔类型,函数作为参数使用,函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来的数组(没用)
如果这个数组中的每个元素的值都符合条件,最后才返回的是true
filter(函数);返回的是数组中每一个元素都复合条件的元素,组成了一个新的数组
push(值);--->把值追加到数组中,加到最后了---返回值也是追加数据之后的数组长度
pop();--->删除数组中最后一个元素,返回值就是删除的这个值
shift();--->删除数组中第一个元素,返回值就是删除的这个值
unshift();--->向数组的第一个元素前面插入一个新的元素,----返回值是插入后的程度
forEach(函数)方法---遍历数组用---相当于for循环
indexOf(元素值);返回的是索引,没有则是-1
join("字符串");----返回的是一个字符串
map(函数);--->数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中
reverse();----->反转数组
sort();---排序的,可能不稳定,如果不稳定,请写MDN中的那个固定的代码
arr.slice(开始的索引,结束的索引);把截取的数组的值放在一个新的数组中,但是不包含结束的索引对应的元素值
splice(开始的位置,要删除的个数,替换的元素的值);一般是用于删除数组中的元素,或者是替换元素,或者是插入元素
java中:
toString() 数组转字符串
copyOf () 用于扩容
asList()返回一个受指定数组支持的固定大小的列表。
sort() 排序
fill() 填充