您的位置:首页 > Web前端 > JavaScript

07 JavaScript基础之--数组案例(下)

2016-11-15 23:14 218 查看

翻转数组方法:

1.创建一个新数组。(2种实现方法)

2.原数组反转。

1.1方法1:创建一个新数组,正向遍历,反向添加

var arr = ["1吕布","2赵云","3典韦","4关羽","5马超","6张飞"];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
//  往新数组中添加元素。      反向添加。i=0;倒数第一个,i=1;倒数第二个....
newArr[i] = arr[arr.length-1-i];
}
console.log(newArr);


1.2方法2:创建一个新数组,反向遍历,正向添加

var arr = ["1吕布","2赵云","3典韦","4关羽","5马超","6张飞"];
var newArr = [];
for (var i = arr.length-1; i >= 0; i--) {
newArr[newArr.length-1-i] = arr[i];
}
console.log(newArr);


2.原数组反转。

var arr = ["1吕布","2赵云","3典韦","4关羽","5马超","6张飞"];
//前后交换位置(第三方变量存储值)
for(var i=0;i<arr.length/2;i++){
//交换变量(第一个最后一个)
var temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
console.log(arr);


数组去除重复

var arr = ["1关羽","1关羽","2张飞","2张飞","3刘备","3刘备"];

//定义一个新数组,如果新数组中已经有了老数组中的元素,就不添加进去了。否则添加进去。
//两个for循环,一个控制老数组,一个控制新数组。
var newArr = [];

//控制老数组
for(var i=0;i<arr.length;i++){
//开闭原则
var bool = true;
//控制新数组:每次执行完for循环,都可能多出一个元素。
for(var j=0;j<newArr.length;j++){
//判断:老数组中的元素,新手组中有没有。
if(newArr[j] == arr[i]){
//不允许添加。
bool = false;
}
}
//如果bool值为true,说明新数组中的元素和老数组中的元素,没有一个相同的。
//因为有一个相同的bool值也被改为false了。
if(bool == true){
newArr[newArr.length] = arr[i];
}
}

console.log(arr);//["1关羽","1关羽","2张飞","2张飞","3刘备","3刘备"];
console.log(newArr);//["1关羽","2张飞","3刘备"];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: