数组
-
方法
-
splice(删除/插入) 与 slice(截取)区别
-
slice(截取)
-
语法糖:
slice(start, end)
- 截取一部分,并返回截取这部分数组
- 不包含第end个数
- 若start,end为负数,则从数组最后一个向前截取
- 原数组不变
-
例子:
[1,2,3,4,5].slice(1,2,3,4,5)
结果为:
[2]
-
-
splice(删除、插入)
删除或插入一部分元素,并返回删除这部分数组
-
语法糖:
splice(start, number, item1, …itemx )
- start,从start索引开始删除
- number,代表删除元素的个数
- items 要添加到索引的新元素
- 原数组会变
-
例子:
[1,2,3,4,5].splice(1,2,3,4,5) //输出结果为:[2,3]
注:而原数组会变成:[1,2,3,4,5,4,5],即删除和插入数据
var a = [1,2,3] a.splice(0,1) // 返回:[1] console.log(a) //输出结果为: [2, 3]
-
-
-
copyWithin
复制数组的指定元素 替换掉 数组指定位置
array.copyWithin(target, start, end)
参数 描述 target 必需,复制到指定目标索引位置。即:目标索引。 start 可选。元素复制的起始位置。 end 可选。停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数。即:复制,不包括第end个数 例子:
var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"]; fruits.copyWithin(2, 0, 2); // 从第一个至第二个("Banana", "Orange")复制后,粘贴到第3个位置(apple),顺延把第4个位置(Mango)也粘贴掉。 // 输出结果: // Banana,Orange,Banana,Orange,Kiwi,Papaya
fruits.copyWithin(2, 0, 2);
// 从第一个至第二个(“Banana”, “Orange”)复制后,粘贴到第3个位置(apple),顺延把第4个位置(Mango)替换掉。var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"]; fruits.copyWithin(2, 0, 3); // 输出结果: // Banana,Orange,Banana,Orange,Apple,Papaya
fruits.copyWithin(2, 0, 3);
// 从第一个至第三个(“Banana”, “Orange”, “Apple”)复制后,粘贴到第3个位置(apple),顺延把第4、5个位置(“Mango”, “Kiwi”)替换掉。 -
reverse
数组颠倒位置
array.reverse()
例子:
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.reverse(); // 结果输出:Mango,Apple,Orange,Banana
-
toString
将 数组转换为字符串
array.toString()
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = fruits.toString(); // 结果输出:Banana,Orange,Apple,Mango
-
-
属性
-
length
长度
-
concat
连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
例子:
var a = [1,2,3]; console.log(a.concat(4,5)); // 输出结果为:1,2,3,4,5 console.log(a) // 输出结果为:1,2,3
-
http://caibaojian.com/w3c/js/jsref_concat_array.html
函数
-
属性
-
name
函数名.name
a = function(x, y) { return x+y; } console.log(a.name) // 返回函数名 // 结果输出:a
-
Symbol(重点)
一种原始数据类型,定义对象的唯一属性名
例子:
let a = {};
let sy = Symbol(‘abc’);
a[sy]=1; // 结果输出:{Symbol(abc): 1}
let sy1= Symbol(‘abc’);
a[sy1]=1; // 结果输出:{Symbol(abc): 1, Symbol(abc): 1}
console.log(a[sy] ===a[sy1]) // 结果输出:true。因为值都为1,所以相等。
console.log(sy === sy1) // 结果输出:false。Symbol创建唯一不一样,所以不相等
-