JavaScript

正则表达式断言

所谓断言,就是指明某个字符串前边或者后边,将会出现满足某种规律的字符串。
断言术语命名的规律:无论先行还是后发,都是相对于目标字符串而言。
例如:目标字符串后边有条件,可以理解为目标字符串在前,就用先行断言,放在目标字符串之后。

Expression 术语 解释
(?=X) 零宽正向先行断言 仅当子表达式 X 在 此位置的右侧匹配时才继续匹配。例如,/w+(?=/d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。
(?!X) 零宽负向先行断言 仅当子表达式 X 不在 此位置的右侧匹配时才继续匹配。例如,例如,/w+(?!/d) 与后不跟数字的单词匹配,而不与该数字匹配 。
(?<=X) 零宽正向后发断言 仅当子表达式 X 在 此位置的左侧匹配时才继续匹配。例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。
(?<!X) 零宽负向后发断言 仅当子表达式 X 不在此位置的左侧匹配时才继续匹配。例如,(?<!19)99 与不跟在 19 后面的 99 的实例匹配

通过索引删除元素

1
const delElement = (arr, index) => arr.slice(0, index -1).concat(arr.slice(index))

复制页面内容

1
2
3
4
5
6
7
8
9
var ele = document.createElement('input');
// 从页面获得复制内容
// Array.from($0.querySelectorAll('canvas')).map(o=>`<img src="${o.toDataURL()}">`).join('\n');
ele.value = '要复制的内容'
document.body.append(ele);
ele.focus();
ele.select();
document.execCommand('Copy', false, null);
ele.remove()

Array 方法

pop

pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

1
2
3
4
5
6
7
8
9
10
const plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];
console.log(plants.pop());
// expected output: "tomato"

console.log(plants);
// expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]

plants.pop();
console.log(plants);
// expected output: Array ["broccoli", "cauliflower", "cabbage"]

shift

shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

1
2
3
4
5
6
7
8
const array1 = [1, 2, 3];
const firstElement = array1.shift();

console.log(array1);
// expected output: Array [2, 3]

console.log(firstElement);
// expected output: 1

unshift

unshift()方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。

1
2
3
4
5
6
const array1 = [1, 2, 3];
console.log(array1.unshift(4, 5));
// expected output: 5

console.log(array1);
// expected output: Array [4, 5, 1, 2, 3]

some

some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。

1
2
3
4
5
6
7
const array = [1, 2, 3, 4, 5];

// checks whether an element is even
const even = (element) => element % 2 === 0;

console.log(array.some(even));
// expected output: true

slice

arr.slice([begin[, end]])
slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。

splice

array.splice(start[, deleteCount[, item1[, item2[, …]]]])
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。


JavaScript
https://jacksiongt.github.io/2021/04/30/JavaScript/
作者
Jacksion
发布于
2021年4月30日
许可协议