2.21 总结 switch语句 ifelse 数组的相关操作

1switch语句注意事项

(1)switch语句中switch()括号中的值与case后边的值必须是全等才可以成功匹配到。

(2)当前的case里没有break,则会执行下一个case,直到遇见break。

2.switch与if else if语句的区别:

3. dowhile 语句与while的区别,dowhile语句会先执行一次循环体,再判断。while有可能一次也不执行。

4. 数组的创建方式

var arr = new Array();   //利用new Array()  创建了一个空数组
var arr = new Array(2);  //创建了一个长度为2的数组,但是内部为空
var arr = newArray(1,2);   //等价于var arr = [1,2]; 
var arr = [];   //利用数组字面量
var arr1 = [1,2,3];  

数组里可以放任何数据类型的数据。数据用逗号分隔。

5.数组的遍历。

var arr = ['星期一','星期二','星期三','星期四','星期五','星期六','星期日'];
			for (var i = 0; i < 7; i++) {
				console.log(arr[i]);
			}

相较于直接用数字7,数组的长度,更推荐用如下写法:

var arr = ['星期一','星期二','星期三','星期四','星期五','星期六','星期日'];
			for (var i = 0; i < arr.length; i++) {
				console.log(arr[i]);
			}

6.数组新增元素

给数组新增元素的方法:

通过修改数组索引

var arr = ['123','a','b','c',4,true];
    arr[0] = '1';  //修改原有元素
    arr[6] = 'd';  //添加元素。注意不能直接给数组名赋值,会覆盖掉之前的所有元素。
console.log(arr);

7.筛选数组方法

(1)

var arr = [10,20,54,36,78,100,14,35,68];
			var NewArr = [];
			var j = 0;
			for (var i = 0; i < 10; i++) {
				if (arr[i] > 50) {
					NewArr[j] = arr[i];
					j++;
				}
			}
			console.log(NewArr);

 (2)

var arr = [10,20,54,36,78,100,14,35,68];
			var NewArr = [];
			for (var i = 0; i < arr.length; i++) {
				if (arr[i] > 50) {
					NewArr[NewArr.length] = arr[i];
				}
			}
			console.log(NewArr);

3.

var arr = [10,20,54,36,78,100,14,35,68];
			var NewArr = [];
			for (var i = 0; i < arr.length; i++) {
				if (arr[i] > 50) {
					//NewArr[NewArr.length] = arr[i];
                    NewArr.push(arr[i]);
				}
			}
			console.log(NewArr);

8.数组去重(删除指定的元素)

//这里的只是去除指定的多余的元素,并不能实现对所有元素的去重
var arr = [1,0,2,66,8,2,5,2,7,0];
			var NewArr = [];
			for (var i = 0; i < arr.length; i++) {
				if (arr[i] != 0) {
					NewArr[NewArr.length] = arr[i];
				}
			}
			console.log(NewArr);


//下面演示真正的去重
//核心算法:遍历旧数组,拿着数组元素去遍历新的空数组,如果新数组中没有这个元素,就添加,否则不添加。
//利用indexOf  如果没有这个元素返回-1的特点
function unique(arr) {
			    var newArr = [];
			    for (var i = 0; i < arr.length; i++) {
			        if (newArr.indexOf(arr[i]) === -1) {
			            newArr.push(arr[i]); 
			}
			}
			return newArr;
			}
			var demo = unique([1,0,2,66,8,2,5,2,7,0]);
			console.log(demo);

9.翻转数组(附判断数组的方法1.instanceof  一种运算符,检测是否为数组,返回布尔值2.Array.isArray(参数))

function reverse(arr) {
            if(Array.isArray(arr)) {  //ie9以上新增的方法
             var newArr = [];
			for (var i = arr.length-1; i >= 0; i--) {
				newArr[newArr.length] = arr[i];
			}
            return newArr;
            } else {
            return '这个参数要求必须是数组格式!';
} 
}
console.log(reverse([1,2,3]));
console.log(reverse(1,2,3));		

function reverse(arr) {
            if(arr instanceof Array) {
             var newArr = [];
			for (var i = arr.length-1; i >= 0; i--) {
				newArr[newArr.length] = arr[i];
			}
            return newArr;
            } else {
            return '这个参数要求必须是数组格式!';
} 
}
console.log(reverse([1,2,3]));
console.log(reverse(1,2,3));	

js里的reverse方法可以直接进行翻转操作:

var arr = [1,2,3];
reverse(arr);
console.log(arr);

10.添加、删除数组元素的方法

var arr = [1,2,3];
//arr.push(4,'pink');  //在数组尾部添加一个或多个元素
console.log(arr.push(4,'pink'));    
console.log(arr);    

 

 push是在数组尾部添加,直接写想添加的元素即可

push完毕之后,返回的结果是数组的新长度,且原数组也会发生变化。

var arr = [1,2,3];
//arr.unshift(4,'pink');  //在数组首部添加一个或多个元素
console.log(arr.unshift(4,'pink'));    
console.log(arr);    

unshift完毕之后,返回的结果是数组的新长度,且原数组也会发生变化。它是在数组首部添加元素

pop删除数组的最后一个元素(一次只能删除一个)

var arr = [1,2,3];
console.log(arr.pop());
console.log(arr);

 返回值为所删除的最后一个元素。

shift删除数组的第一个元素(一次只能删除一个)

var arr = [1,2,3];
console.log(arr.shift());
console.log(pop);

 返回的是所删除的第一个元素

11.返回数组元素的索引

var arr = ['blue','red','pink','yellow','red'];  
console.log(arr.indexOf('blue'));   //indexOf 返回该数组元素的索引号  0

//它只返回第一个满足条件的索引号,从前往后   有lastIndexOf相反的从后往前开始查找,返回找到的第一个元素的索引号,找不到也返回-1.
console.log(arr.indexOf('red'));  //1

//找不到对应的元素就返回-1
console.log(arr.indexOf('green'));  //-1

12.数组转换为字符串

var arr1 = ['red','blue','yellow','pink'];
			console.log(arr1.join());  //不加分隔符默认为逗号
			console.log(arr1.join('-'));
			console.log(arr1.join('&'));

 

 

13. 连接两个或多个数组concat()方法

使用规范:

要拼接的数组.concat(数组1,数组2...)  这里返回的是一个副本数组,并不会影响原数组

var arr = [1,2,3];
var arr1 = ['red','pink','yellow'];
var arr2 = [false,true];
var newArr = arr.concat(arr1,arr2);
console.log(newArr);

14.数组截取slice()

var arr = ['Happy','fninmd','new','year'];
console.log(arr.slice(1,3));  //'fninmd','new'
console.log(arr.slice(2));  //'new','year'
console.log(arr.slice(1,4)); //'fninmd','new','year'
console.log(arr.slice(-2));  //'new','year'

slice(begin,end);

begin :

提取起始处的索引(从 0 开始),从该索引开始提取原数组元素。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。如果省略 begin,则 slice 从索引 0 开始。如果 begin 超出原数组的索引范围,则会返回空数组。

end :

提取终止处的索引(从 0 开始),在该索引处结束提取原数组元素。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin,但不包含 end)。slice(1,4) 会提取原数组中从第二个元素开始一直到第四个元素的所有元素 (索引为 1, 2, 3的元素)。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。如果 end 被省略,则 slice 会一直提取到原数组末尾。如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。

15.数组删除splice()

var arr = [1,3,5,9,8];
arr.splice(1,0,2);   //从索引为1处开始,添加元素 2  且改变原数组
console.log(arr);  //1,2,3,5,9,8
arr.splice(4,1,6,7);  //从3开始删除1个元素,添加6 7
console.log(arr);

arr.splice(-2,1);  //从倒数第二个位置开始删除一个元素
console.log(arr);  //1,2,3,5,6,8

arr.splice(2);//从2的位置删除所有元素
console.log(arr);  //1,2

更多看Array.prototype.splice() - JavaScript | MDN

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hcoke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值