您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# JavaScript中数组赋值的方法有哪些
在JavaScript中,数组赋值是日常开发中的高频操作。本文将系统介绍7种常见的数组赋值方法,包括基础赋值、解构赋值、ES6扩展运算符等,并附上代码示例和注意事项。
---
## 一、基础索引赋值法
最直接的方式是通过索引位置赋值:
```javascript
let arr = [1, 2, 3];
arr[1] = 99; // 修改索引1的值
arr[3] = 100; // 新增索引3
console.log(arr); // [1, 99, 3, 100]
注意:索引超出当前长度时会自动扩展数组
let fruits = ['apple'];
fruits.push('orange'); // 返回新长度2
fruits.unshift('banana'); // ['banana', 'apple', 'orange']
// 在索引1处删除1个元素并插入'pear'
fruits.splice(1, 1, 'pear');
交换变量值的经典用法:
let [a, b] = [1, 2];
[a, b] = [b, a]; // 交换后 a=2, b=1
嵌套数组解构:
const [first, [second]] = [1, [2, 3]];
const newArr = [...arr1, ...arr2];
const arrCopy = [...originalArr];
将类数组对象转为真实数组:
const nodeList = document.querySelectorAll('div');
const arr = Array.from(nodeList);
快速初始化数组:
const uniformArr = new Array(5).fill(0); // [0,0,0,0,0]
const doubled = [1,2,3].map(x => x*2);
const evens = [1,2,3,4].filter(x => x%2===0);
引用类型陷阱:
const matrix = new Array(3).fill([]);
matrix[0].push(1); // 所有子数组都会受影响!
正确做法应使用map:
const safeMatrix = Array(3).fill().map(() => []);
性能考量:
for
循环ES6+浏览器兼容性: 生产环境建议使用Babel转译扩展运算符等新特性
方法类型 | 典型场景 | 是否改变原数组 |
---|---|---|
索引赋值 | 精准修改特定位置 | 是 |
push/unshift | 首尾操作 | 是 |
解构赋值 | 变量交换/提取特定元素 | 否 |
扩展运算符 | 合并/浅拷贝 | 否 |
根据实际需求选择合适的方法,在需要高性能操作时建议使用基础索引赋值,现代项目推荐多使用ES6+语法简化代码。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。