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) }
解析:===是全等的意思