我是靠谱客的博主 玩命帆布鞋,最近开发中收集的这篇文章主要介绍Array的操作方法之splice()前言一、splice()的作用及使用二、合并两个有序数组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

今天在leetcode上做了一道合并两个有序数组的题目,用了splice()这个方法,于是打算做小笔记加深印象。


一、splice()的作用及使用

具有删除、插入。替换三个作用,该方法返回的是一个数组(包含从原数组中删除的项(若没有删除项则返回一个空数组))
语法:
splice(index,howmany,item1,…itemx);

  • index——必须,整数,规定添加或者删除的位置,使用负数,从数组尾部规定位置。
  • howmany——必须,要删除的数量,如果为0,则不删除项目。
  • item1,…itemx——可选,向数组添加的新项目。

1. 删除

可删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数。

let arr=[1,2,3];
let arr1=arr.splice(1,2);//会删除数组的第2和3个元素(即2,3)
alert(arr);//[1]
alert(arr1);//[2,3]

2. 插入

可以向指定位置插入任意数量的项只需提供3个参数:起始位置、0(要删除的项数)、要插入的项。

let arr=[1,2,3];
let arr1=arr.splice(1,0,4,5);//会从数组的1位置开始插入4,5
alert(arr);//[1,4,5,2,3]
alert(arr1);//[]

3. 替换

可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定3个参数:起始位置、要删除的项数和要插入的任意数量的项(插入的数量不必与删除的数量相等)

let arr = [1,2,3];
let arr1=arr.splice(1,1,"red","green");//会删除3,然后从2位置插入字符串"red"和"green"
alert(arr);//[1,"red","green",3]
alert(arr1);//[2]

二、合并两个有序数组

最简单的方法:将两个数组合并再排序
时间复杂度 : O((n + m)log(n + m))

/**
* @param {number[]} nums1
* @param {number} m
* @param {number[]} nums2
* @param {number} n
* @return {void} Do not return anything, modify nums1 in-place instead.
*/
var merge = function(nums1, m, nums2, n) {
nums1.splice(m, nums1.length - m, ...nums2);
nums1.sort((a, b) => a - b);
};

最后

以上就是玩命帆布鞋为你收集整理的Array的操作方法之splice()前言一、splice()的作用及使用二、合并两个有序数组的全部内容,希望文章能够帮你解决Array的操作方法之splice()前言一、splice()的作用及使用二、合并两个有序数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部