数组
slice[start,end] | 返回从原数组中指定开始下标到结束下标之间的项目组成新数组(不会影响原数组) |
splice() |
1.删除功能:2个参数 , 起始位置 , 删除的项目 2.插入功能:3个参数,起始位置 ,删除的项目 , 插入的项, 3替换功能:任意参数,起始位置 , 删除的项 , 插入任意数量的项目 |
pop() | 删除数组的最后一个元素 , 减少数组的长度 , 返回删除的值.(没有参数) |
push() | 将参数加载到数组的最后 , 返回新数组的长度.(参数不限) |
shiift() | 删除数组的第一个元素, 数组长度减1, 返回删除的值.(没有参数) |
unshift() | 往数组开头添加一个或者多个, 返回数组长度(参数不限) |
sort() | 按指定的参数对数组进行排序,返回的值是经过排序之后的数组(没有参数/函数) |
concat(3,4) | 把两个数组拼接起来.返回的值是一个副本(参数无限) |
join() | 将数组的元素组起一个字符串 , 以什么为分隔符 , 不写参数的话默认有逗号隔开 |
indexOf() |
1,从数组的开头向后查找,两个参数 ,第一个查找的项(可选),第二个要查找的那个值的位置索引 2,如果要检索的字符串值没有出现,则该方法返回 -1。 |
lastIndexOf() |
1从数组的末尾开始向前查找,接受两个参数,要查找的项(可选),和要查找的起点位置 2 如果要检索的字符串值没有出现,则该方法返回 -1。 |
every() | 对数组中的每一项运行给定函数 , 如果该函数对每一项都返回true , 则返回true |
forEach() | 对数组的每一项运行给定函数 , 这个方法没有返回值 |
map() | 对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组 |
reduce()reduceRight() | 缩小数组的方法,这两个方法都会迭代数组的所有项,然后构建一个最终返回的值 |
1.Array.from(arrayLike,mapFn,thisArg):将一个对象转化为数组
- 可以转化的对象:
- 类数组对象,即有length属性,和index索引
- 部署了Iterator接口的对象,比如:Set,Map,Array(译者注:其实类数组对象也部署了Iterator接口)。
-
返回值:一个新的数组实例
-
参数:
- arrayLike:类数组对象
- mapFn(可选):迭代方法,操作每一个元素
- thisArg(可选):指定迭代方法中的 this 对象
- 例子:
var newArr1 = Array.from((1,2,3),x = > x + x); // [2,4,6];
var newArr2 = Array.from(map([1,2],[2,3])); // [[1,2],[2,3]];
2.Array.isArray(obj):判断是否为数组
- 返回值:布尔值
- 参数:
- obj:判断对象
- 例子:
//ture
Array.isArray([]);
Array.isArray(Array.prototype); //Array.prototype本身是一个数组
//false
Array.isArray({});
Array.isArray(true);
3. Array.of(element0[, element1[, ...[, elementN]]]):创建数组
- 返回值:一个数组实例
- 参数:
- element:数组内容
- 与Array的区别:
参数为单个整型数字时,Array()
表示创建长度,ArrayOf()
还是表示创建内容
Array.of(7) //[7]
Array.of(1,2,3) //[1,2,3]
Array(7) //长度为7的数组,内容为空
Array.of(1,2,3) //[1,2,3]
- 例子:
Array.of(undefined) //[undefined]
4. Array.prototype.concat(arr1,arr2,...):合并两个或两个以上数组,不改变原数组
-
返回值:一个新的数组
-
参数:
- arr:需要合并的数组
- 例子:
//合并两个数组
var nums =[1, 2, 3] .concat([4, 5, 6]); // [1,2,3,4,5,6]
//合并三个数组(可以合并一个数字)
var nums = [1, 2, 3].concat([4,5,6], 3); // [1,2,3,4,5,6,3]
- 注意嵌套数组的不同之处,和生成的新数组动态关联
//嵌套的数组还是指向原地址,修改后也会在新生成的数组中体现
var num1 = [[1]];
var num2 = [2, [3]];
var nums = num1.concat(num2); // [[1], 2, [3]]
// 修改num1的第一个数组
num1[0].push(4);
//此时的nums变为[[1, 4], 2, [3]]
5. Array.prototype.every(callback[,thisArg]):对数组中的每一个值进行验证
-
返回值:布尔值
-
参数:
- callback():
1). currentValue:正在遍历的当前值
2). index(可选):当前值索引
3). array:遍历的数组本身 - thisArg(可选):callback函数中的 this 关键字可引用的对象。如果省略 thisArg,则 undefined 将用作 this 值。
- 例子:
function isBelowThreshold(currentValue) {
return currentValue < 40;
}
var array1 = [1, 30, 39, 29, 10, 13];
array1.every(isBelowThreshold); //ture
6. Array.prototype.entries():对数组中的每一个值进行验证
-
返回值:返回迭代器,含有数组对象的键值对
-
例子:
var a = ['a', 'b', 'c'];
var iterator = a.entries();
console.log(iterator.next().value); // [0, 'a']
console.log(iterator.next().value); // [1, 'b']
console.log(iterator.next().value); // [2, 'c']
- 可以使用for..in遍历(可枚举)for循环与for..in的区别
var a = ['a', 'b', 'c'];
var iterator = a.entries();
for(let k in iterator){
console.log(k);
}
// [0, 'a']
// [1, 'b']
// [2, 'c']
7. Array.prototype.find(callbackfn(element,index,array)):在数组中找到符合条件的第一个值
- 返回值:符合条件的值
- 参数:
- callbackfn():
1). element(可选):正在遍历的当前值
2). index(可选):当前值索引
3). array(可选):遍历的数组本身 - thisArg(可选):callback函数中的 this 关键字可引用的对象。如果省略 thisArg,则 undefined 将用作 this 值。
function isBigEnough(element) {
return element >= 15;
}
[12, 5, 8, 130, 44].find(isBigEnough); // 130
charAt() | 返回在指定的位置的字符 |
charCodeAt() | 返回在指定的位置的字符的 Unicode 编码。 |
concat() | 连接字符串 |
indexOf() | 检索字符串 |
match() | 找到一个或多个正则表达式的匹配 |
replace() | 替换与正则表达式匹配的子串 |
search() | 检索与正则表达式相匹配的值。 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分 |
toLocaleLowerCase() |
把字符串转换为小写。 |
toLocaleUpperCase() | 把字符串转换为大写 |
substr() | 从起始索引号提取字符串中指定数目的字符 |
substring() | 提取字符串中两个指定的索引号之间的字符。 |
方法 | 描述 |
ceil() | 尽可能取最大 |
floor(x) | 尽可能取最小 |
round(x) | 把数四舍五入为最接近的整数。 |
max(x,y) | 返回 x 和 y 中的最高值 |
min(x,y) | 返回 x 和 y 中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 0 ~ 1 之间的随机数。 |
sqrt(x) | 返回数的平方根 |
compile | 编译正则表达式 |
exec | 检索字符串中指定的值。返回找到的值,并确定其位置。 |
test | 检索字符串中指定的值。返回 true 或 false。 |
search | 检索与正则表达式相匹配的值。 |
match | 找到一个或多个正则表达式的匹配。 |
replace | 替换与正则表达式匹配的子串 |
split | 把字符串分割为字符串数组 |
方法 | 描述 |
hasOwnProperty() 方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。注意
hasOwnProperty
作为属性名