数组的内置方法

1.检测数据类型

   第一种方法:instanceof Array

   第二种方法:Array.isArray()

<script>
           var arr = ['scr', 1, null, , true];
			// 直接输出一个数组
			console.log(arr);
			// 输出数组的长度
			console.log(arr.length);
			// 第一种检测数据类型的方法
			console.log(arr instanceof Array);
			// 第二种检测数据类型的方法
			console.log(Array.isArray(arr));
</script>

 

 

 

2.输出数据

<script>
var arr = ['scr', 1, null, , true];
// 顺序输出
for(i=0;i<arr.length;i++){
     console.log('第' + (i + 1) + '个值为:' + arr[i]);
}
//倒序输出
for(i=arr.length-1;i>=0;i--){
     console.log('第' + (i + 1) + '个值为:' + arr[i]);
}
// 调序输出
for(i=1;i<=arr.length;i+=2){
     console.log('第' + i + '个值为:' + arr[i]);
}
</script>

 顺序输出:

倒序输出:

 

跳序输出:

 

 

3.for...in遍历数组

<script>
var arr = ['scr', 1, null, , true];
for (var j in arr) {
				console.log('第' + j + '个值为:' + arr[j]);
			}
</script>

for...in...遍历虽然在写法上比传统的循环方便,但在循环中如果该数组中某个值为empty时,在输出的时候会直接跳过去,只遍历当前已有的值

4.获取数组字符串

 valueOf()方法:返回数组的元素字符串

toString()方法:可以把数组转化为字符串,并返回结果

toloLocaleString():返回数组中每个元素本地化表示形式

join(seperator):返回一个字符串,由每个元素转换而成的字符串使用指定的seperator拼接而成

<script>
var arr1 = ['scr', 1, null, , true];
			console.log(arr1);
			console.log(arr1.valueOf());
			console.log(arr1.toString());
			console.log(arr1.toLocaleString());
			console.log(arr1.join('-'));
</script>

5.连接数组concat()

concat()拼接两个或更多的数组,并返回结果 语法:arrObject.concat(arr1,arr2,…); 该方法不会改变现有数组,仅仅返回一个拼接后的副本; 每个参数可以是一个值,也可以是一个数组 可以接收任意多个参数

<script>
            var arr1 = [1, 2, 3];
			var arr2 = ['a', 'b', 'c'];
            var arr3 = arr1.concat(arr2);
			// var arr3 = arr1.concat(100,arr2,200);
			// var arr3 = arr1.concat(['m',200,0,[10,10]],arr2,100,'s');
			// var arr3 = ['a','b'].concat(['m',200,0],arr2,100,'s');
			// var arr3 = [].concat(['m',200,0],arr2,100,'s');
			document.write(arr3);
			document.write('<br />')
			document.write(arr3.length);
</script>

6.获取子数组slice()

slice()返回现有数组的一个子数组

语法:arrObject.slice(start1,end);

参数start指定从哪个下标开始获取;若取值为负数,则表示从尾部开始算起,如-1指最后一个元素,-2指倒数第二个元素

参数end指定结束处的下标(不包含);

可以省略或取负值

<script>
    var arr1 = [10,20,30,40,50];
// 从下标1开始截取至下标4,arr2=[20,30,40]
    var arr2 = arr1.slice(1,4);
// 从下标2开始截取,直到末尾 arr3=[30,40,50]
    var arr3 = arr1.slice(2);
// 从倒数第四个开始截取,截取至倒数第二个 arr4=[20,30]
    var arr4 = arr1.slice(-4,-2);

    console.log(arr2);
    console.log(arr3);
    console.log(arr4);

</script>

7.修改数组

splice从数组中删除一部分元素,并添加另一部分元素

语法:arrObject.splice(start,count,e1,e2..);

参数start: 指定添加/删除的起始位置,可取负值

参数count: 要删除的元素个数,0表示不删除 e1,e2.. 在start处新添加的项

返回被删除的项目;现有数组内容会改变

<script>
// splice()能增 能减 能替换
			var arr3=[2,5,18,'e','p','dd',100,500,200]
			// 替换 截取几个值替换几个值
			arr5 = arr3.splice(2,2,'p1','p2');
			console.log(arr5);
			console.log(arr3); // [1, 2, "p1", "p2", "a", "b", "c", 200]
			console.log(arr3.length); //length = 8
			// 增加 添加的值的数量大于被截取的值
			arr6 = arr3.splice(2,2,'li','bb',500);
			console.log(arr3.length); //length = 9
			console.log(arr3); // [1, 2, "li", "bb", 500, "a", "b", "c", 200]
			// 减少 添加的值的数量少于被截取的值
			arr7=arr3.splice(3,3,'aa');
			console.log(arr3.length); // length = 7
			console.log(arr3); //[1, 2, "li", "aa", "b", "c", 200]
</script>

8.数据的翻转reverse()

reverse() 颠倒数组中元素的顺序

语法:arrObject.reverse()

现有数组内容会改变

<script>
   var arr3=[2,5,18,'e','p','dd',100,500,200]
   arr8 = arr3.reverse();
   console.log(arr8);
</script>

9.数组排序

sort() 用于对数组中元素由小到大进行排序

语法:arrObject.sort(sortby);

若未指定参数,则按元素的Unicode码排序;

也可以指定元素比较函数sortby,按其返回的正负值作排序的依据。

现有数组内容会改变

<script>
    // 数组的快速排序
	       // 参数1-参数2 ,数组由小到大排列
			function sortby(num1,num2){
				return num1-num2;
			}
			// 参数2-参数1 ,数组由大到小排列
			function sortby(num1,num2){
				return num2-num1;
			}
			var num= [10,2,300,230,66];
			console.log(num.sort(sortby));
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值