Array 数组
- js数组
- 1.使用字面量创建一个数组
- 2.使用构造函数创建数组
- 3.创建一个长度为10的数组
- 4.array方法
- 4.1forEach()
- 4.2 slice()
- 4.3splice()
- 4.4contact()
- 4.5join()
- 4.6reverse()
- 4.7 sort()
js数组
concat 方法 |
join 方法 |
pop 方法 |
push 方法 |
reverse 方法 |
shift 方法 |
slice 方法 |
sort 方法 |
splice 方法 |
toLocaleString 方法 |
toString 方法 |
unshift 方法 |
valueOf 方法
1.使用字面量创建一个数组
var arr = [1,2,3,4,5,6,];
console.log(arr);
console.log(arr.length);
2.使用构造函数创建数组
var arr2 = new Array(10,20,30);
console.log(arr2);
3.创建一个长度为10的数组
arr2 = new Array(10);
var array = new Array();
array[0] = 1;
array[1] = 12;
array[2] = 15;
4.array方法
4.1forEach()
<script type="text/javascript">
//js中forEach函数给了一个数组遍历的方法,他需要一个函数作为参数
var arr = [1,2,3,4,5];
function fun(){
}
arr.forEach(fun);
//上面那样写有点污染全局变量
//一般直接写在forEach(里);直接在里面传一个匿名函数
arr.forEach(function(){
})
/**
* forEach()方法需要一个函数作为参数
-像这种函数,由我们创建但是不由我们调用的,我们称为回调函数
-数组中有几个元素函数就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递进来,我们可以来定义参 ,来读取这些内容
浏览器会在回调函数函数中传递几个参数
第一个参数,就是当前正在遍历的元素
第二个参数,就是当前正在遍历的元素的索引
第三个参数,就是正在遍历的数组
* */
var arry = ["林青霞","林徽因","苦哈哈"];
arry.forEach(function(a){
console.log("a"+a);
})
</script>
4.2 slice()
<script type="text/javascript">
//slice() 三个参数,
//可以返回一个数组中选定的元素
//该方法不会影响原数组,而是将选定的元素封装到一个新的数组返回
//-参数:
//1.第一个参数:截取开始的位置的索引,包括开始索引
//2.第二个参数:截取结束的位置的索引,不包含结果索引
//3.可以传递一个负值,如果传递一个负值,则从后往前计算
</script>
4.3splice()
<script type="text/javascript">
//splice() 三个参数 -->这个方法属于替换
//-可以用于删除数组中的指定元素
//-使用splice()会影响到原数组,会将指定元素从原数组中册除并将被删除的元素作为返回值返回
var arr = [1,2,3,4,5];
var ret = arr.splice(0,2);
console.log(arr);
console.log(ret);
/* 第一个参数表示开始位置索引,
第二个参数表示删除的数量
第三个参数会添加到数组中 */
</script>
4.4contact()
<script type="text/javascript">
//contact()
//连接两个数组,并且返回一个新的数组
var arr = [1,2,3,4,5];
var arr2 = [1,12,13,145];
console.log(arr.concat(arr2))
</script>
4.5join()
<script type="text/javascript">
/**
* join()
-该方法可以将数组转换为一个字符串
-该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回
-在join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
-不使用连接符,默认使用逗号
* */
</script>
4.6reverse()
<script type="text/javascript">
//reverse用来反转数组,该方法会直接修改原数组
</script>
4.7 sort()
<script type="text/javascript">
//sort()
//-可以用来对数组中的元素进行排序
//-也会影响原数组,默认会按照Unicode编码进行排序
//我们可以自己指定排序规则
/**
*
回调函数中需要定义两个形参,
浏览器将会分别使用数组中的元素作为实参去调用回调函数使用哪个元素调用不确定,
我们可以在sort()添加一个回调函数,来指定排序规则,
回调函数中需要定义两个形参,
浏览器将会分别使用数组中的元素作为实参去调用回调函数
使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边-浏览器会根据回调函数的返回值来决定元素的顺序,
如果返回一个大于0的值,则元素会交换位置如果返回一个小于0的值,则元素位置不变
如果返回一个0,则认为两个元素相等,也不交换位置
* */
var arr = [1,45,88,87,2];
arr.sort(function(a,b){
/* if (a>b){
return 1;
}else if(a<b){
return -1;
}else{
return 0;
} */
//仔细想一想,其实可以这样写
return a-b;
});
console.log(arr);
//可以得出结论,如果需要升序排列,则返回a-b
// 如果需要降序排列,则返回b-a
</script>