JS基础测试34期(js数组相关)

简答题

所有题目共用一个上下文,已知数组:

1
let arr = [1,2,,3];
  1. 数组arr的长度是多少
  2. 去除数组arr中的空项
  3. arr2 = arr.map(parseInt),请写下arr2的内容
  4. arr和arr2合并成数组arr3,兼容IE8+
  5. 去除数组 arr3 中重复的内容

Read More

JS基础测试29期(js对象,数组相关)

简答题:

1.已知纯对象:

1
2
let obj1 = { a: 1, b: 2 };
let obj2 = { a: 1, b: 2 };

1 我们都知道,obj1 == obj2 返回的值是 false,下面请写一个方法,如果键值对都是一样的(只需要原生相等),则认为两个对象是相等的.例如:

1
2
3
4
let obj1 = { a: 1, b: 2 };
let obj2 = { a: 1, b: 2 };

equalObject(obj1, obj2); //返回true

已知数组:

1
2
let arr1 = [1, 2, 5, 7, 9];
let arr2 = [1, 2, 5, 7, 9];

2.大家都知道,arr1 == arr2 返回的是 false,下面写一个方法,如果数组项都是一样的,(只需考虑原生相等)则认为两个数组是相等的.例如:

1
2
equalArray([1, 2], [2, 1]); //返回true
equalArray([1, 2], ["1", "2"]); //返回false

3.本题加大难度,相当于 1,2 题目的组合,请实现一个方法,只要内容形态一致,则认为数组或者对象相等.例如:

1
2
3
4
5
6
7
8
9
let obj1 = { a: [1, "2"], b: 2 };
let obj2 = { b: 2, a: [1, "2"] };

let arr1 = [1, 2, { a: 1, b: 2 }, 9];
let arr2 = [1, 2, { b: 2, a: 1 }, 9];

console.log(equal(obj1, obj2)); //返回true
console.log(equal(arr1, arr2)); //返回true
console.log(equal(obj1, arr1)); //返回false

_补充:数组 [1, 2] 和 [2, 1] 是不等的_。

Read More

JS基础测试35期(js对象相关)

简答题:

所有题目共用一个上下文
已知对象:

1
2
3
4
5
const object1 = {
userid: 123,
username: "王二",
tel: "13208033621",
};
  • 一句话说明 encodeURI 和 encodeURIComponent 的主要区别?
  • 把 object1 转变成 userid=123&username=%E7%8E%8B%E4%BA%8C 这种字符串形式
  • 获取当前 URL 地址栏中的第一个?后面查询的内容(包括问号)
  • 把?后面的查询字符串转换成 object1 这样的键值对对象格式
  • 如果键值有重复,则值以数组呈现.

Read More

前端小测第八期(js基础测试)

前端小测-JS 基础题目(数组相关):

简答题:

已知数组:

1
let arr = [0, 1, 2, 3, 4, 5];

1.请实现,指定任意索引,对应数组项往前移动一个位置

2 请实现,指定任意索引,对应数组项移动到最前面

3.请实现,指定任意索引,对应数组项移动到最后面

4.请手写一个方法,实现数组任意两项的位置调换.

Read More