通用JS系列-数组操作相关

292 阅读1分钟

创建数组

var a = [1, 2, 3, 4]; var a = new Array(1, 2, 3, 4);

增加元素

a.unshift(0); // 首位增加 a.push(100); // 末尾增加 a.splice(3, 0, 100, 2, 3);

删除元素

a.shift(); // 首位删除 a.pop(); // 末尾删除 a.splice(3, 1); // 具体位置删除

修改元素

a.fill(155, 0, 1); // 以固定值填充数组元素,a.fill(target, start, end);

查找元素

a.includes(110);// 查找某个元素是否存在数组中 a.find(item => {return item > 50;}); // 查找第一个符合条件的元素,并返回值 a.findIndex(item => {return item > 50;}); // 查找第一个符合条件的元素,并返回其下标 a.indexOf(110); // 从前往后搜索,如果元素存在,则返回下标 a.lastIndexOf(); // 从后往前搜索,如果元素存在,则返回下标

其他

a.entries(); // 返回iterator格式的数组中所有键值对 a.keys(); // 返回iterator格式的数组中所有键名 a.values(); // 返回iterator格式的数组中所有值

iterator的调用

var b = a.entries(); while(b.next()){ console.log(b.next()) }

截取数组中的一些值,覆盖其他值

// a.copyWithin(开始覆盖的下标, 开始截取的下标, 停止截取的下标) a.copyWithin(0, 4, 5);

数组截取

a.slice(0, 3);

数组合并

var b = [90, 89, 77].concat(a); var b = [...b, ...a];

数组转化为字符串

var c = a.join("-"); // 默认以逗号分割 var c = a.toString();

字符串转化为数组

c.split(',');

数组快速颠倒

a.reverse();

数组的快速排序

a.sort();