js中的splice用法

函数说明

在js里数组有个方法是splice,用来添加和删除,它有三个参数,
index :位置
howmany : 删除的个数 (可以是0)
item1,item2 添加的值 (添加在Index之前)

常用功能

删除:

一般和indexOf搭配来删除某个值,现在试试:

var f = [1,2,4,5];
f.splice( f.indexOf(5),1 ); 
添加:
情景一

我有两个数组:

var c = ['a', 'b', 'c', 'g', 'h'];
var d = ['d', 'e', 'f'];

我要把’d’,’e’,’f’写到’c’和’g’之间,可以这样写

for (var i = 0; i < d.length; i++) {
    c.splice(c.indexOf('g'), 0, d[i])
}
情景二

我有一个数组

var a = [2, 5, 10, 30];

我想把它中间的整数填充起来,可以这样写

for (var i = 0; i < a.length; i++) {
    if (a[i + 1]) {
        var diff = a[i + 1] - a[i];
        var n = a[i + 1]; 
        for (var k = 1; k < diff; k++) {
            a.splice(i + 1, 0, n - k);
        }
    }
}
情景三

我有一个数组,存的是日期

var b = ['2017-05-01', '2017-05-06', '2017-06-16'];

我想把它中间的日期填充起来,这里为了方便我使用了moment.js:

 for (var i = 0; i < b.length; i++) {
     if (b[i + 1]) {
         var diff = moment(b[i + 1]).diff(moment(b[i]), 'days');
         if (diff > 0) {
             var n = b[i + 1];
             for (var k = 1; k < diff; k++) {
                 b.splice(i + 1, 0, moment(n).add(-k, 'days').format('YYYY-MM-DD'));
             }
         }

     }
 }
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScriptsplice()是一个数组方法,用于在数组添加、删除或替换元素。它的用法如下: array.splice(index, deleteCount, item1, item2, ...) 其,index是要修改的起始位置,deleteCount是要删除的项数,item1, item2, ...是要插入的项。splice()方法会返回一个由删除的元素组成的数组。 例如,如果我们有一个数组colors = \["red", "green", "blue"\],我们可以使用splice()方法来删除、替换或添加元素。 - 删除元素:使用splice()方法的第一个参数指定要删除的元素的位置,第二个参数指定要删除的项数。例如,colors.splice(1, 2)将删除数组的第二个和第三个元素,返回一个包含被删除元素的数组。在这个例子,删除的元素是\["green", "blue"\],剩下的数组是\["red"\]。 - 替换元素:使用splice()方法的第一个参数指定要替换的元素的位置,第二个参数指定要删除的项数,后面的参数指定要插入的新元素。例如,colors.splice(1, 2, "pink")将删除数组的第二个和第三个元素,并在该位置插入"pink"。在这个例子,被替换的元素是\["green", "blue"\],剩下的数组是\["red", "pink"\]。 - 添加元素:使用splice()方法的第一个参数指定要插入的位置,第二个参数设置为0,后面的参数指定要插入的新元素。例如,colors.splice(1, 0, "yellow")将在数组的第二个位置插入"yellow"。在这个例子,数组变为\["red", "yellow", "green", "blue"\]。 总结来说,splice()方法可以用于删除、替换和添加数组的元素,通过指定起始位置、删除的项数和要插入的新元素来实现。 #### 引用[.reference_title] - *1* [JSsplice方法的使用](https://blog.csdn.net/qq_43549199/article/details/122835179)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [js splice的三个用法](https://blog.csdn.net/weixin_45457797/article/details/121263807)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值