JS算法面试题

JS算法面试题,第1张

JS算法面试题-不借助临时变量,进行两个整数的交换

1、数组解构

let a = 2,
    b = 3;
    [b,a] = [a,b]
    console.log(a,b)   // 3 2

2、算术运算(加减)

输入a = 2,b = 3,输出 a = 3,b = 2
let a = 2,
    b = 3;
const swop = (a, b) => {
    b = b - a;
    a = a + b;
    b = a - b;
    return [a,b];
}
console.log(swop(2,3)) // [3,2]

3、逻辑运算(异或)

let a = 2,
    b = 3;
const swop = (a, b) => {
    a ^= b; //x先存x和y两者的信息
    b ^= a; //保持x不变,利用x异或反转y的原始值使其等于x的原始值
    a ^= b; //保持y不变,利用x异或反转y的原始值使其等于y的原始值
    return [a,b];
}
console.log(swop(2,3)) // [3,2]

*获取更多面试题
请添加下方微信(备注CSDN推荐)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1320460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-11
下一篇 2022-06-11

发表评论

登录后才能评论

评论列表(0条)

保存