数组/字符串方法——补充(copyWithin、flatMap、padStart/padEnd、Symbol)
作者:互联网
数组/字符串方法——补充
一、数组.copyWithin(x,y,z)
- 三个参数
- 第一个:从该位置开始覆盖
- 第二个:复制开始位置
- 第三个:复制结束位置
- 作用:截取数组中 y - z 的一段内容,从 x 位置开始覆盖原数组
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var arr1 = arr.copyWithin(1, 3, 6); //[1, 4, 5, 6, 5, 6, 7, 8, 9]
二、数组.flatMap(function(t,i){})
- 作用:
- 拍平数组,只能拍平一层
- t:表示第二层数组的每一项
- i:表示第二层数组的索引
var arr = [
[1, 2],
[4, 5],
[6, [7, 8]],
];
var arr1 = arr.flatMap(function (t, i) {
t.unshift(0); // 在第二层数组的每一项前面 添加 0
console.log(t); // [1,2],[4,5],[6,[7,8]]
return t;
});
console.log(arr1); // [0, 1, 2, 0, 4, 5, 0, 6,[7, 8] ]
三、字符串.padStart/padEnd( x,y )
- 第一个参数:该字符串满足几位
- 第二个参数:当不满足的时候在前(padStart)后(padEnd)补上 y 这个字符
console.log(String(Math.floor(Math.random() * 20)).padStart(2, '0')); // 字符串需要满足两位,不够两位的时候在前面加上 ‘0’
console.log(String(Math.floor(Math.random() * 20)).padStart(2, '0')); // 字符串需要满足两位,不够两位的时候在后面加上 ‘0’
四、Symbol()
- 可以创建一个第一位而的变量
- Symbol 无法使用 for in 遍历
var key = Symbol();
var obj = {
[key]: 1, // [key] 引用上面定义的变量
b: 2,
a: 2,
};
obj.key = 10; // 由于是对象眯没有key,此操作给对象里添加key
obj[key] = 100;
console.log(obj); //{b: 2, a: 2, key: 10, Symbol(): 100}
for (var i in obj) {
console.log(i); // a,b,key Symbol无法被 for in 遍历
}
标签:flatMap,console,key,Symbol,copyWithin,数组,var,log 来源: https://blog.csdn.net/weixin_46087056/article/details/123615527