【Perl读书笔记】数组操作splice函数

本文详细解析了Perl编程语言中splice函数的使用方法及运行结果,通过实例演示了如何在数组中进行元素的插入、删除和替换操作。

读 《C程序员精通Perl》http://book.douban.com/subject/1232075/   3.3节 笔记





#!/usr/bin/perl

use strict;
use warnings;

my @array = (); 


while (1) {
        print "input a number or <enter> to finish: ";
        my $a=<STDIN>;
        chomp ($a);

        if ($a eq "") {
                last;   
        }   

        push(@array, $a);
}

print "array=@array\n\n";

my @result = splice(@array, 6); 
print "after splice1 array=@array\n";
print "result = @result\n\n";

@result = splice(@array, 3, 2); 
print "after splice2 array=@array\n";
print "result = @result\n\n";

@result = splice(@array, 3, 0, "hello", "calf_man");
print "after splice3 array=@array\n";
print "result = @result\n\n";

@result = splice(@array, 3, 1, "wonderful", "honey", "cute");
print "after splice4 array=@array\n";
print "result = @result\n\n";


运行结果:

[root@localhost perl_practice]# ./splice.pl   
input a number or <enter> to finish: 1
input a number or <enter> to finish: 2
input a number or <enter> to finish: 3
input a number or <enter> to finish: 4
input a number or <enter> to finish: 5
input a number or <enter> to finish: 6
input a number or <enter> to finish: 7
input a number or <enter> to finish: 8
input a number or <enter> to finish: 9
input a number or <enter> to finish:
array=1 2 3 4 5 6 7 8 9

after splice1 array=1 2 3 4 5 6
result = 7 8 9

after splice2 array=1 2 3 6
result = 4 5

after splice3 array=1 2 3 hello calf_man 6
result =

after splice4 array=1 2 3 wonderful honey cute calf_man 6
result = hello

[root@localhost perl_practice]#


在 JavaScript 中,`splice()` 函数数组方法中非常灵活且功能强大的方法之一,允许在数组中添加、删除或替换元素[^1]。 ### 使用方法 `splice()` 函数的基本语法如下: ```javascript array.splice(start, deleteCount, item1, item2, ...) ``` - `start`:指定开始修改数组的索引位置。如果为负数,则从数组末尾开始计算,如 `-1` 表示最后一个元素。 - `deleteCount`:可选参数,指定要从数组中删除的元素个数。如果该参数为 0,则不删除任何元素。 - `item1, item2, ...`:可选参数,指定要插入到数组中的元素,可以有多个。 ### 功能及示例 #### 删除元素 通过指定 `start` 和 `deleteCount`,可以从数组中删除指定数量的元素。 ```javascript let arr = ['red', 'green', 'blue']; // 删除green这个元素 arr.splice(1, 1); console.log(arr); // 输出: ['red', 'blue'] ``` 在这个示例中,从索引 1 开始删除 1 个元素,即删除了 `'green'` 元素[^5]。 #### 插入元素 当 `deleteCount` 为 0 时,可以在指定位置插入元素。 ```javascript let arr = ['apple', 'banana', 'cherry']; // 在索引 1 处插入 'date' arr.splice(1, 0, 'date'); console.log(arr); // 输出: ['apple', 'date', 'banana', 'cherry'] ``` #### 替换元素 可以同时删除和插入元素,实现替换的效果。 ```javascript let arr = ['one', 'two', 'three']; // 从索引 1 开始删除 1 个元素,并插入 'newTwo' arr.splice(1, 1, 'newTwo'); console.log(arr); // 输出: ['one', 'newTwo', 'three'] ``` #### 删除多个元素 可以指定删除多个连续的元素。 ```javascript let arr = [1, 2, 3, 4, 5]; // 从索引 2 开始删除 2 个元素 arr.splice(2, 2); console.log(arr); // 输出: [1, 2, 5] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值