一,数组:
(1).join("连接符")
功能:用连接符把数组元素里卖弄的元素连接成字符串
return 一个字符串
(2).concat("a","b")
功能:用于连接数组
return不会修改原数组,返回新数组
(3).slice(start,end)
功能:选择从给定的 start 参数开始的元素,并在给定的 end 参数处结束(start包括,end不包括)
return 新的数组对象,返回数组中被选中的元素,不会修改原数组
(4).splice(index,howmany,item1,...,itemx)
功能:删除,插入,替换
index 指定位置,负值从末尾开始
howmany 要删除的项目数
item1,...,itemx 要添加到数组中的新项目
return 直接修改原数组,并且会返回删除的项目
var fruits = ["Banana", "Orange", "Apple", "Mango"];
// 在位置 2,添加 2 个元素,删除 1 个元素:
fruits.splice(2, 1, "Lemon", "Kiwi");
console.log(fruits)
//["Banana", "Orange", "Lemon", "Kiwi", "Mango"]
(5).reverse,.sort
修改原数组
(6).forEach(function(value,index,arr){})
功能:对数组的每一个元素执行一次提供的函数
第一个参数是遍历的数组内容,
第二个参数是对应的数组索引,
第三个参数是数组本身
forEach方法不会返回执行结果,而是undefined
(7).map(function(value,index,arr){})
功能:对数组的每一个元素执行一次提供的函数
function参数的意义与forEach一样,但是forEach()会修改原来的数组。而map()方法会得到一个新的数组并返回。
(8)String(arr)/arr.toString()
功能:数组转字符串
(9)arr.unshift()队列入队 arr.shift()队列出队 arr.push()入栈 arr.pop()出栈
修改原数组
(10).indexOf(search,fromindex)
功能:返回某个指定字符在字符串首次出现的位置
search检索的字符串值,form开始检索的位置
(11).every(item => {
return item>0
})
功能:用于检测数组中的全部元素是否都符合指定条件,满足的时候返回ture,不满足的时候返回false,every不会对空数组进行检测
(12).some(item => {
return item>0
})
功能:判断数组中有没有符合条件的元素,只要遇到符合条件的就退出循环,返回值也是true和false
(13).filter 功能:按条件过滤 过滤结果是一个数组
const persons = [
{name: 'Jim', age: 22},
{name: 'Alen', age: 17},
{name: 'Lily', age: 20}
]
let a = persons.filter(person => {
return person.age > 20;
});
console.log(a) // [{name: 'Jim', age: 22}]
(14).find((item)=>{
})
找出第一个符合条件的数组成员,没找到返回undefined
(15).findIndex(()=>{ }) 找出第一个符合条件的数组成员的位置,没找到返回-1
(16).includes()
某个值是否在数组里,不接受函数传参,includes(3)如果数组里面有3,返回true,如果没有,则返回false
(17).reduce() 语法:
arr.reduce(function(prev,cur,index,arr){
}, init);
arr 表示原数组;
prev 表示上一次调用回调时的返回值,或者初始值 init;
cur 表示当前正在处理的数组元素;
index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
init 表示初始值
prev 和 cur是最常用的两个
reduce 会将每次的遍历的return结果 作为下一次的迭代器acc的值 就是你代码中的prev的值
需求1:求数组之和
var sum = arr.reduce(function (prev, cur) {
return prev + cur;
},0);
//由于传入了初始值0,所以开始时prev的值为0,cur的值为数组第一项3
相加之后返回值为3作为下一轮回调的prev值
然后再继续与下一个数组项相加,以此类推,直至完成所有数组项的和并返回。
需求2:求数组项最大数
var sum = arr.reduce(function(prev, cur) {
return Math.max(prev, cur)
})
//未传入初始值,故而从第一个元素开始比较
需求3:数组去重
var sum = arr.reduce(function(prev, cur) {
prev.indexOf(cur) && prev.push(cur);
return prev;
)
//reduce 会将每次的遍历的return结果 作为下一次的迭代器acc的值 就是你代码中的prev的值
(18).toLocalString() 可以用来转换data 1000的分割效果 ...
改变原数组的: (join concat splice) (sort reverse) (pop push unshift shift)
二,字符串
(1)charAt()
返回指定索引位置的字符
(2)match()
可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
(3)repeat()
str.repeat(2)
返回str字符串重复两次
(4)replace(oldvalue,newvalue)
字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
replaceall()是全部进行替换,replace()是替换第一个
(5)split()
把一个字符串分割成字符串数组
(6)startsWith()
检测字符串是否以指定的子字符串开始
var str = "Hello world, welcome to the Runoob.";
var n = str.startsWith("Hello");
//true
(7)substr()
slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度
var test = 'hello world';
alert(test.slice(4,7)); //o w
alert(test.substring(4,7)); //o w
alert(test.substr(4,7)); //o world
(8)tolowerCase()
把字符串转换为小写
toUpperCase()
把字符串转换为大写
(9)trim()
去除字符串两边的空白
for in 与for of
let arr = ["a","b"];
for (a in arr) {
console.log(a);//0,1
}
for (a of arr) {
console.log(a);//a,b
}
charCodeAt() 返回字母的unicode编码