JS 开发常用方法学习

Time: 2023-03-29 22:28:42

JS 学习计划

js两个数组比较去重,返回不重复的项

const list1 = [
    {id: 0, name: "小明"},
    {id: 1, name: "小红"},
];
const list2 = [
    {id: 0, name: "小明"},
    {id: 1, name: "小红"},
    {id: 3, name: "小白"},
    {id: 4, name: "小菜"},
]
var result = list2.filter(function(item1) {
     return list1.every(function(item2) {
       return item2.id !== item1.id
     })
 })
console.log(result)

思路
对 list 2 每一项进行脱壳,类似 for,只不过顺带脱了层壳,然后再使用 every 函数,使 list1 的每一项跟 list2 对比,返回布尔值,只有为 false 的可以存在。

在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字

/**
 * @param {number[]} nums
 * @return {number}
 */
var findRepeatNumber = function(nums) {
    const set = new Set()
    for (let i = 0;i < nums.length;i++) {
        if (set.has(nums[i])) {
            return nums[i]
        }
        set.add(nums[i])
    }
};

利用 set 集合找到重复数字

字符串替换功能

使用 str.replaceAll(oldVal,newVal)

原文地址:https://www.cnblogs.com/isgavin/p/17270689.html