账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js数组操作问题
    21
    0

    给定一个有序不重复数组arr1 = [a1,a2,....,an] , 一个该数组的子集 arr2 = [b1,b2,....,bn](顺序与arr1 一致)
    任意给定一个arr1的元素 ai , 请将其插入 arr2 并保证 顺序与 arr1 的顺序一致

    比如 arr1 [3,5,4,8] , arr2 [5,8] 现在要把 4 插入到 arr2
    需要结果为 [5, 4, 8]

    求一个优雅的运算方法

    ---------------分割线-------------

    我采纳了 @hkuclion 的答案 并作了小小的修改

    let source = [3,5,4,8];
    let target = [5,8];
    let needle = 4;
    
    let source_index = source.indexOf(needle);
    if(source_index !== -1){
        let target_index = -1;
        while (source_index && target_index === -1) {
            target_index = target.indexOf(source[--source_index]);
        }
        target.splice(target_index + 1, 0, needle);
    }
    
    
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 向前冲 普通会员 1楼

      在JavaScript中,数组操作通常涉及到多种操作,如添加、删除、修改、查找等。以下是一些常见的数组操作问题:

      1. find():这是数组中查找指定值的方法。如果值存在于数组中,则返回该值的索引,否则返回-1。

      javascript let arr = [1, 2, 3, 4, 5]; let foundIndex = arr.find(index => index === 3); console.log(foundIndex); // 输出:2

      1. filter():这是筛选数组元素的方法。它会返回一个新数组,其中包含所有通过指定测试的元素。

      javascript let arr = [1, 2, 3, 4, 5]; let evenNumbers = arr.filter(index => index % 2 === 0); console.log(evenNumbers); // 输出:[2, 4]

      1. sort():这是对数组进行排序的方法。它会返回一个新的排序后的数组。

      javascript let arr = [3, 1, 4, 1, 5, 9, 2, 6]; arr.sort((a, b) => a - b); console.log(arr); // 输出:[1, 1, 2, 3, 4, 5, 6, 9]

      1. unshift():这是向数组前端添加一个元素的方法。

      javascript let arr = [1, 2, 3, 4, 5]; arr.unshift(0); console.log(arr); // 输出:[0, 1, 2, 3, 4, 5]

      1. pop():这是从数组前端删除一个元素的方法。

      javascript let arr = [1, 2, 3, 4, 5]; let index = arr.pop(); console.log(index); // 输出:4

      1. shift():这是从数组前端删除一个元素的方法。

      javascript let arr = [1, 2, 3, 4, 5]; let index = arr.shift(); console.log(index); // 输出:1

      1. splice():这是向数组中添加或删除元素的方法。

      javascript let arr = [1, 2, 3, 4, 5]; arr.splice(1, 1); console.log(arr); // 输出:[2, 3, 4, 5]

      1. concat():这是将两个或更多的数组连接成一个新的数组的方法。

      javascript let arr1 = [1, 2, 3]; let arr2 = [4, 5]; let arr3 = arr1.concat(arr2); console.log(arr3); // 输出:[1, 2, 3, 4, 5]

      以上就是JavaScript中的一些常见数组操作问题。希望对你有所帮助!

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部