牛课刷题Day5(编程题)

1.合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组

正确答案:

function concat(arr1, arr2) {
 let c=arr1.concat(arr2)
 return c
}
解析: js的Array对象提供了一个叫concat()方法,连接两个或更多的数组,并返回结果。

2.在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组

正确答案:

function insert(arr, item, index) {
   let a=arr.slice(0)
   a.splice(index,0,item)
    return a
}

解析:本题可使用splice方法,该方法可接收多个参数。第一个参数表示数组起始位置,第二个参数表示需要删除元素的个数,如果后面还有参数,则将随后的全部参数插入到第一个参数表示的起始位置。例如:arr.splice(5,2,"test1","test2");此句代码表示从arr数组的第5个元素开始,删除随后两个元素,并将“test1”和“test2”插入到第5个元素之后。

3.为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组

正确答案:

function square(arr) {
  let newArr=[]
    for(let i=0; i<arr.length;i++){
        newArr.push(arr[i]*arr[i])
    }
    return newArr
}

4.修改 js 代码中 parseInt 的调用方式,使之通过全部测试用例

示例1

输入:'12'

输出:12

示例2

输入:'12px'

输出:12

示例3

输入:'0x12'

输出:0

正确答案

function parse2Int(num) {
    return parseInt(num,10);
}

解析:

parseInt() 函数可解析一个字符串,并返回一个整数。

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

当忽略参数 radix , JavaScript 默认数字的基数如下:

如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

5.判断 val1 和 val2 是否完全等同

function identity(val1, val2) {
  return (val1===val2)
}

解析:===是全等的意思

猜你喜欢

转载自blog.csdn.net/weixin_64965154/article/details/131036022