鸿蒙Next中如何创建新数组并赋值旧数组

在鸿蒙Next开发中,我想创建一个新数组并将旧数组的值赋给它,请问具体的实现方法是什么?比如旧数组是int[] oldArray = {1, 2, 3},如何高效地完成这个操作?需要注意哪些细节?

2 回复

在鸿蒙Next中,创建新数组并赋值旧数组,简单粗暴:
let newArray = [...oldArray];
或者用 slice() 大法:
let newArray = oldArray.slice();
搞定!别让旧数组霸占内存,新数组自己玩去~ 😎

更多关于鸿蒙Next中如何创建新数组并赋值旧数组的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next(HarmonyOS NEXT)中,创建新数组并赋值旧数组可以通过多种方式实现。以下是几种常见的方法:

1. 使用 slice() 方法

slice() 方法会返回原数组的浅拷贝,不修改原数组。

let oldArray = [1, 2, 3, 4];
let newArray = oldArray.slice();

2. 使用扩展运算符(Spread Operator)

扩展运算符 ... 可以快速复制数组。

let oldArray = [1, 2, 3, 4];
let newArray = [...oldArray];

3. 使用 Array.from() 方法

Array.from() 可以从类数组或可迭代对象创建新数组。

let oldArray = [1, 2, 3, 4];
let newArray = Array.from(oldArray);

4. 使用 concat() 方法

concat() 方法可以合并数组,通过合并空数组实现复制。

let oldArray = [1, 2, 3, 4];
let newArray = oldArray.concat();

5. 使用循环手动复制

如果需要深拷贝或特殊处理,可以手动遍历数组。

let oldArray = [1, 2, 3, 4];
let newArray = [];
for (let i = 0; i < oldArray.length; i++) {
    newArray.push(oldArray[i]);
}

注意事项:

  • 以上方法均为浅拷贝,如果数组包含对象或嵌套数组,修改嵌套内容会影响新旧数组。
  • 如需深拷贝,可以使用 JSON.parse(JSON.stringify(oldArray)) 或其他深拷贝工具函数。

选择适合场景的方法即可。

回到顶部