- 数组常用方法总结
- 1、Array.map() 循环
- 2、Array.forEach() 循环
- 3、Array.filter() 过滤
- 4、Array.every() 判断布尔值
- 5、Array.some() 判断布尔值
- 6、Array.push() 新增元素
- 7、Array.pop()
- 8、Array.shift()
- 9、Array.unshift()
- 10、Array.isArray()
- 11、Array.concat()
- 12、Array.join()
- 13、Array.toString()
- 14、Array.splice(开始位置,删除个数,要替换的新元素)
- 15、Array.sort() 翻转数组
- 16、Array.indexOf() 查找元素在数组中第一次出现的位置
- 字符串常用方法总结
- 1. JavaScript中如何检测一个变量是一个String类型?请写出函数实现
- 2. 请用js去除字符串空格?
- 3.如何获取浏览器URL中查询字符串中的参数?
数组常用方法总结
1、Array.map() 循环
循环并对数组的每一项进行处理,但不改变原数组,有返回值
let arr = [1, 2, 3, 4, 5]
let newArr = arr.map(x => x*2)
//arr= [1, 2, 3, 4, 5] 原数组保持不变
//newArr = [2, 4, 6, 8, 10] 返回新数组
let arr = [1,32,54,6,543];
let res = arr.map(function(item,index,arr){
return item*2;
})
2、Array.forEach() 循环
会改变原数组,没有返回值
arr.forEach(function(item,index,arr){
//里面的function是一个回调函数,
//item: 数组中的每一项;
//index:item 对应的下标索引值
//arr: 就是调用该方法的数组本身
})
3、Array.filter() 过滤
过滤出符合的元素,并返回新的数组
let arr = [1, 3, 5, 2, 4, 6];
let res3 = arr.filter(function(item, index) {
return item % 2 === 0;
});
console.log(res3);
let arr = [1, 2, 3, 4, 5]
const isBigEnough = value = value >= 3
let newArr = arr.filter(isBigEnough )
//newNum = [3, 4, 5] 满足条件的元素返回为一个新的数组
4、Array.every() 判断布尔值
判断数组中所有元素是否符合条件,当所有元素都符合时才返回true,只要有一个不符合就返回false.
let arr = [1, 2, 3, 4, 5]
const isLessThan4 = value => value < 4
const isLessThan6 => value => value < 6
arr.every(isLessThan4 ) //false
arr.every(isLessThan6 ) //true
5、Array.some() 判断布尔值
判断数组中所有元素是否符合条件,只要有一个元素符合就返回true,只有在所有元素都不符合时才返回false.
let arr= [1, 2, 3, 4, 5]
const isLessThan4 = value => value < 4
const isLessThan6 = value => value > 6
arr.some(isLessThan4 ) //true
arr.some(isLessThan6 ) //false
let arr3 = [
{ name: "zs", age: 18, done: "notYet" },
{ name: "ls", age: 20, done: true },
{ name: "ww", age: 22, done: true }
];
let res5 = arr3.some(function(item) {
return item.done;
});
console.log(res5); //true
6、Array.push() 新增元素
在数组的后面新增元素,会改变数组的长度,返回的是改变后的数组长度
let arr = [1, 2, 3, 4, 5]
console.log(arr.push(9)) //6
console.log(arr) //[1, 2, 3, 4, 5, 9]
console.log(arr.length) //6
7、Array.pop()
在数组的后面删除元素,会改变数组的长度,返回的是被删除的元素
let arr = [1, 2, 3, 4, 5]
console.log(arr.pop()) //5
console.log(arr) //[1, 2, 3, 4]
console.log(arr.length) //4
8、Array.shift()
在数组的前面删除元素,会改变数组的长度,返回的是删除后的数组
let arr = [1, 2, 3, 4, 5]
arr.shift()
console.log(arr) //[2, 3, 4, 5]
console.log(arr.length) //4
9、Array.unshift()
在数组的前面添加元素,会改变数组的长度,返回的是新的数组
let arr = [1, 2, 3, 4, 5]
arr.unshift(6, 7)
console.log(arr) //[6, 7, 1, 2, 3, 4, 5]
console.log(arr.length) //7
10、Array.isArray()
判断是否是数组,返回的是布尔值
11、Array.concat()
将多个数组合并成一个数组
let arr1 = [1, 2, 3]
arr2 = [4, 5]
let arr = arr1.concat(arr2)
console.log(arr)//[1, 2, 3, 4, 5]
12、Array.join()
将数组中的元素通过指定的分隔符,以字符串的形式连接起来
//将数组用 - 符号连接起来
let arr = [1,2,3,4,5];
let str = arr.join('-');
console.log(str)//str = 1-2-3-4-5;
13、Array.toString()
将数组转化成字符串
let arr = [1, 2, 3, 4, 5];
let str = arr.toString()
console.log(str)// 1,2,3,4,5
14、Array.splice(开始位置,删除个数,要替换的新元素)
实现增删改
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.splice(2, 0 'haha')
let arr2 = arr.splice(2, 3)
let arr1 = arr.splice(2, 1 'haha')
console.log(arr1) //[1, 2, 'haha', 3, 4, 5]新增一个元素
console.log(arr2) //[1, 2] 删除三个元素
console.log(arr3) //[1, 2, 'haha', 4, 5] 替换一个元素
15、Array.sort() 翻转数组
16、Array.indexOf() 查找元素在数组中第一次出现的位置
if (arr.indexOf(ele) === -1){//说明元素不存在!!
console.log('元素不存在!)
} else {
console.log(' 元素存在! ')
}
字符串常用方法总结
1、slice(start,end)
不包含end , start可负数
2、substr(start,length)
截取到length位, start可负数
3、substring(start,stop)
不包含stop, start 非负数
1. JavaScript中如何检测一个变量是一个String类型?请写出函数实现
function test(obj){
return typeof(obj) == ‘String’;
}
test(234);
test(‘abc’);
2. 请用js去除字符串空格?
eg: var str =” 12 55 abc “;
str.replace(/\s/g,””); //所有空格
str.replace(^\s,””); //前空格
str.replace(/\s*$/g.””); //后空格
str.trim(); //前后空格
str.trimLeft(); //前空格
str.trimRight(); //后空格
3.如何获取浏览器URL中查询字符串中的参数?
eg: var url = https://baidu.com?aa=10422828&bb=1;
a方案:
var str = location.search.substring(1).split(“&”);
var params = new Object();
for(var i=0;str.length;i++){
params[str[i].splict(“=”)[0]] = unescape(str[i].splict(“=”)[1]); // unescape解码
}
b方案:
var str = location.href.split(“?”).split(“&”);
var obj ={};
for(var i=0;str.length;i++){
var arg =str[i].split(“=”);
obj[arg[0]]=arg[1];
}