# 总结一下 数组/字符串转化
# json
字符串转json
JSON.parse(str);json转字符串
JSON.stringify(json)
# string
字符串截取
// charAt() 方法从一个字符串中返回指定的字符。 // 一个介于0 和字符串长度减1之间的整数。 (0~length-1) str.charAt(index) // slice() 方法提取一个字符串的一部分,并返回一新的字符串。 // 该索引(以 0 为基数)处开始 str.slice(beginSlice[, endSlice]) // substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。 // 一个 0 到字符串长度之间的整数。 str.substring(indexStart[, indexEnd]) // substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符 // 开始提取字符的位置。如果为负值,则被看作 strLength + start,其中 strLength 为字符串的长度 // length 可选。提取的字符数。 str.substr(start[, length])字符串转数组
// split() 方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。 // separator 可以是一个字符串或正则表达式 // limit 一个整数,限定返回的分割片段数量 str.split([separator[, limit]])字符串替换
// replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。 // regexp 一个RegExp 对象或者其字面量。该正则所匹配的内容会被第二个参数的返回值替换掉。 // substr 一个要被 newSubStr 替换的字符串 // newSubStr (replacement)用于替换掉第一个参数在原字符串中的匹配部分的字符串 // function一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果 str.replace(regexp|substr, newSubStr|function)字符串搜索
// includes() 方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回true或false。 // searchString要在此字符串中搜索的字符串 // position前字符串的哪个索引位置开始搜寻子字符串;默认值为0。 // includes() 方法是区分大小写的 str.includes(searchString[, position]) // indexOf() 方法返回调用 String 对象中第一次出现的指定值的索引,开始在 fromIndex进行搜索。如果未找到该值,则返回-1 // searchValue 一个字符串表示被查找的值 // fromIndex 表示调用该方法的字符串中开始查找的位置。可以是任意整数。默认值为 0 str.indexOf(searchValue[, fromIndex])
# array
数组转字符串
// join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串 // separator 如果需要(separator),将分隔符转换为字符串。如果省略(),数组元素用逗号分隔。默认为 ","。 arr.join(separator)数组添加
// push() 方法将一个或多个元素添加到数组的末尾,并返回新数组的长度。 arr.push(element1, ..., elementN) // unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。 arr.unshift(element1, ..., elementN)数组删除
// pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。 arr.pop() // shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。 arr.shift() // splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。 // start 指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数) //deleteCount 整数,表示要移除的数组元素的个数。如果 deleteCount 是 0,则不移除元素。这种情况下,至少应添加一个新元素。如果 deleteCount 大于start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。 // item1, item2, 要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素 array.splice(start[, deleteCount[, item1[, item2[, ...]]]])数组遍历
// map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 //currentValue callback 的第一个参数,数组中正在处理的当前元素。 //index callback 的第二个参数,数组中正在处理的当前元素的索引。 //array callback 的第三个参数,map 方法被调用的数组。 //thisArg 可选的。执行 callback 函数时 使用的this 值。 let new_array = arr.map(function callback(currentValue, index, array) { // Return element for new_array }[, thisArg]) // forEach() 方法对数组的每个元素执行一次提供的函数 // currentValue(当前值) // index(索引) // array forEach()方法正在操作的数组。 // thisArg 可选参数。当执行回调 函数时用作this的值(参考对象) array.forEach(callback(currentValue, index, array){ //do something }, this) // for...in语句以任意顺序遍历一个对象的可枚举属性。对于每个不同的属性,语句都会被执行。 // variable 在每次迭代时,将不同的属性名分配给变量 // object 被迭代枚举其属性的对象 // 不建议使用for in 当你手动给添加属性后,并且object是array for (variable in object) {...} // for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句。 // variable 在每次迭代中,将不同属性的值分配给变量。 // iterable 被迭代枚举其属性的对象。 // es6 for (variable of iterable) { //statements }
es 语法 →