数组综合练习
- 将一个数组输出为 | 分割的形式,使用两种方式实现
<script>
// 方法1:
var arr = [1,2,3,4];
var str = arr[0];
var separator = "|";
for(var i=1; i<arr.length; i++){
str+=separator+arr[i];
} // 内容容易溢出,不建议使用
//方法2:
var arr = [1,2,3,4];
console.log(arr.join("|")); //expected output : 1|2|3|4
</script>
- 将一个字符串数组进行翻转
<script>
方法1:
var arr = [1,2,3,4,5];
function fn(array){
var newArr = [];
for(var i = array.length-1;i>=0;i--){
newArr[newArr.length] = array[i];
}
return newArr;
}
console.log(fn(arr)); // expected output : [5,4,3,2,1]
方法2:
var arr = [1,2,3,4,5];
function fn2(arr){
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;
}
return arr;
}
console.log(fn2(arr)); // expected output : [5,4,3,2,1];
方法3:
var arr = [1,2,3,4,5];
console.log(arr.reverse());
</script>
- 工资的数组[1500,1200,2000,2100,1800],把工资超过两千的删除
var arr = [1500,1200,2000,2100,1800];
var arr2 = arr.filter(function (ele,index,array){
if(ele<200){
reurn true;
}
return false;
});
console.log(arr4); // expected output : [1500,1200,1800]
- [“c”,“a”,“x”,“a”,“x”,“a”] 找出数组中每个元素出现的次数
//利用对象来做,因为我们想知道a出现了多少次,x出现了多少次,c出现了多少次
//使用键值对比较方便
//思路:创建一个对象,判断数组中的元素,在对象中是否存在。如果存在+1。
<script>
var arr = ["c","a","x","a","x","a"];
var json = {};
for(var i=0; i<arr.length; i++){
if(json[arr[i]]){
json[arr[i]] += 1;
}else{
json[arr[i]] = 1;
}
}
console.log(json);
// expected output : {"a":3,"x":2,"c":1}
</script>
- 编写一个方法,去除数组中的重复元素
<script>
var arr = [1,2,3,1,2,3];
console.log(arr);
//思路:创建一个新数组,循环遍历,只要新数组中有老数组的值,就不再添加了
funtion fn(array){
for(var i = 0; i<array.length; i++){
var newArr = [];
var bool = true;
for(var j = ; j<newArr.length; j++){
if(newArr[j] === array[i]){
bool = false;
}
}
if(bool){
newArr[newArr.length] = array[i];
}
}
}
console.log(fn(arr));
// expected output : [1,2,3],
</script>