读给定代码,分析结果

题目一

问题:这段代码输出结果是什么?

const test = (array, i, j) => {
    for(; i<j; i++, j--){
        array[i] += array[j]    // array[i] = array[i] + array[j] 
        array[j] = array[i] - array[j]    // array[j] = array[i] + array[j] - array[j] = array[i]
        array[i] = array[i] - array[j]    // array[j] = array[i] + array[j] - array[i] = array[j]
    }
}
const arr = [-4, -3, -2, -1, 0, 0, 1, 2, 3, 4]
test(arr, 0, arr.length - 1)
console.log(arr.join(','));  // 4,3,2,1,0,0,-1,-2,-3,-4 

分析:
根据代码中的注释可以看出,这个函数的主要目的是为了交换变量,即第一位的 -4 与末位的 4 交换,所以最终的结果为 4,3,2,1,0,0,-1,-2,-3,-4

题目二

问:这段代码的输出结果是什么?

class Hello{
    static main() {
        const str = 'here welcome hello'
        const out = []
        const arr = str.split(' ').reverse().join(' ').split(' ')
        // split分割,reverse反转,join拼接
        // 将字符串以空格分割为数组,然后反转数组,再以空格拼接为新的字符串,最后又以空格分割
        const len = arr.length  // 数组长度:3
        console.log(len);
        for(let i = 0; i<len; i++) {
            out.push(arr[i].charAt(0).toUpperCase() + arr[i].split(1))
            // arr[i].charAt(0).toUpperCase():获取每个单词的第一个字符并转换为大写
            // arr[i].split(1):获取每个单词的剩余字符
            // 将每个单词的第一个字符和剩余字符拼接起来,然后添加到out数组中
        } 
        console.log(out.join('_'))  // 结果为 Hhello_Wwelcome_Hhere
        // 将out数组中的每个单词用_拼接起来
    }
}
Hello.main()

分析:看到这段代码就可以发现,里面出现了很多的数组方法,它整体考查的还是很简单的,只要对这些数组方法比较熟悉,就可以很快知道答案。
依据代码中的注释,就可以知道大致的思路,而最终结果就是 Hhello_Wwelcome_Hhere 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值