js面试题
js数组
一、按要求分割数组
将"js,数组,分类"字符串数组以/分割
- for循环累加
var arr = ["js", "数组", "分类"];
var separator = "/"
// 初始化str
var str = arr[0];
for(var i=1;i<arr.length;i++){
str += separator + arr[i]
}
console.log(str)
- join()把数组元素链接成字符串
var arr = ["js", "数组", "分类"];
var str = arr.join("/");
console.log(str)
二、反向输出数组
- reverse()数组函数
var arr = ["js", "数组", "分类"];
revArr = arr.reverse()
console.log(revArr)
- 正向遍历,反向添加
var arr = ["js", "数组", "分类"];
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[i])
}
console.log(arr)
三、去掉不符合要求的元素
去掉不符合要求的数
// 去掉大于10的数字
var arr = [1, 5, 4, 10, 48, 500, 14];
var newArr = arr.filter(function(ele,i,array){
//10以上返回false
if (ele<10) {
return true;
}else {
return false;
}
})
console.log(newArr)
四、找到某个元素在数组中的下标值
找到所有出现"a"的位置
var arr = ["c", "a", "d", "a", "d"];
// 遍历
arr.forEach(function(ele, index, array){
if("a" === ele){
console.log(index)
}
})
五、数组去重
//indexOf进行判断,有就不添加没有就添加
var arr = ["干垃圾", "湿垃圾", "可回收垃圾", "干垃圾", "有害垃圾", "干垃圾", "湿垃圾"];
var newArr = [];
arr.forEach(function(item, index, array){
if(newArr.indexOf(item) === -1){
//不存在就添加,存在就不添加
newArr.push(item)
}
})
console.log(newArr)
var arr = ["干垃圾", "湿垃圾", "可回收垃圾", "干垃圾", "有害垃圾", "干垃圾", "湿垃圾"];
var a = new Set(arr);
console.log(...a)
网友评论