HarmonyOS ArkTS里如何正确对数组进行增删改查?

比如:

1 往该数组里新增一个元素

2 删除某一下标的元素

3 替换某一下标的元素

4 取某一下标的元素

HarmonyOS
2024-08-28 09:26:13
浏览
收藏 1
回答 2
待解决
回答 2
按赞同
/
按时间
鱼弦CTO
1

在 HarmonyOS 的 ArkTS(Ark TypeScript)中,对数组进行增删改查操作是非常常见的需求。以下是具体的代码示例,展示如何在 ArkTS 中实现这些基本操作:

### 1. 新增元素到数组

可以使用 ​​push​​ 方法将新元素添加到数组的末尾。

let myArray: number[] = [1, 2, 3];

// 新增元素
myArray.push(4);

console.log(myArray); // 输出: [1, 2, 3, 4]

### 2. 删除某一位置的元素

可以使用 ​​splice​​ 方法删除特定下标的元素。

let myArray: number[] = [1, 2, 3, 4];

// 删除下标为 1 的元素 (即第二个元素)
myArray.splice(1, 1);

console.log(myArray); // 输出: [1, 3, 4]

### 3. 替换某一位置的元素

可以直接通过赋值操作替换指定下标的元素,或者也可以使用 ​​splice​​ 方法来执行替换操作。

let myArray: number[] = [1, 2, 3, 4];

// 直接替换下标为 2 的元素 (即第三个元素)
myArray[2] = 5;

console.log(myArray); // 输出: [1, 2, 5, 4]

// 也可以使用 splice 方法来替换
myArray.splice(2, 1, 6);

console.log(myArray); // 输出: [1, 2, 6, 4]

### 4. 取某一位置的元素

可以直接通过下标访问数组中的元素。

let myArray: number[] = [1, 2, 3, 4];

// 取得下标为 2 的元素 (即第三个元素)
let element = myArray[2];

console.log(element); // 输出: 3

### 综合示例

下面是一个综合示例,展示了如何在同一个程序中对数组进行增删改查操作。

let myArray: number[] = [1, 2, 3];

// 新增元素
myArray.push(4);
console.log('After push:', myArray); // 输出: [1, 2, 3, 4]

// 删除下标为 1 的元素
myArray.splice(1, 1);
console.log('After delete:', myArray); // 输出: [1, 3, 4]

// 替换下标为 2 的元素
myArray[2] = 5;
console.log('After replace:', myArray); // 输出: [1, 3, 5]

// 取得下标为 0 的元素
let element = myArray[0];
console.log('Element at index 0:', element); // 输出: 1

### 小结

  • 新增元素:使用​​push​​ 方法。
  • 删除元素:使用​​splice​​ 方法并指定要删除的下标和数量。
  • 替换元素:直接通过下标赋值或使用​​splice​​ 方法。
  • 取元素:通过下标直接访问。

这些操作在 ArkTS 中与标准 TypeScript 基本一致,因此如果你已经熟悉 TypeScript,那么在 ArkTS 中执行这些数组操作应该相对简单。

分享
微博
QQ
微信
回复
2024-08-28 10:00:01
Heiang

下方为ArkTS中的数组的增删改查

@Entry 
@Component 
struct ArrayDemo { 
  @State message: string = 'Hello World'; 
  // 创建一个数组 
  @State testList: Array<string> = ['测试1', '测试2', '测试3']; 
 
  build() { 
    Row() { 
      Column() { 
        Button('新增元素') 
          .onClick(() => { 
            // this.testList.push('测试4')//在数组末尾添加一个测试4 
            this.testList.unshift('测试0'); // 在数组开头添加一个测试0 
          }) 
        Button('删除元素') 
          .onClick(() => { 
            // this.testList.pop(); // 删除最后一个元素,数组变为['测试1', '测试2'] 
            this.testList.shift(); // 删除第一个元素,数组变为['测试2', '测试3'] 
          }) 
        Button('删除某一下标元素') 
          .onClick(() => { 
            this.testList.splice(2, 1); //删除下标为2的元素 
          }) 
        Button('替换某一下标元素') 
          .onClick(() => { 
            this.testList[1] = '测试替换'; //替换下标为1的元素 
          }) 
        Button('获取某一下标元素') 
          .onClick(() => { 
            let test = this.testList[2]; //获取下标为2的元素 
            console.info(test) 
          }) 
        Text(this.testList.toString()) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-08-28 22:30:02
相关问题
如何构建数据库ORM增删改基础能力
1744浏览 • 1回复 待解决
HarmonyOS 如何对数组进行深拷贝?
255浏览 • 1回复 待解决
ArkTS如何把string转为byte数组
3027浏览 • 1回复 待解决
ArkTS数组复制的方法
1169浏览 • 1回复 待解决
如何实现对字节数组进行解压
1686浏览 • 0回复 待解决
如何实现ArkTS与C/C++的数组转换
752浏览 • 1回复 待解决
arkTS中判断传入的邮箱格式是否正确
592浏览 • 1回复 待解决
ArkTS和Native互传数组类型数据
1401浏览 • 1回复 待解决
ArkTS如何进行页面间传值?
1320浏览 • 1回复 待解决