js习题
- 把字符串翻转 "kjihgfedcba"
- 2.分别统计出 及格和不及格的分数总和
- 3. 截取域名 http://www.baidu.com 不能使用slice
- 4. 获取问号后面的参数 name=zs&age=18&sex=男 并且转成对象 {name:'zs',age:18,sex:'男'}
- 5. 数字去重 [1,2,3,4,5]
- 6. 统计数组中每个元素出现的次数 {1:2,2:2,3:2,4:1,5:1}
把字符串翻转 “kjihgfedcba”
let str = "abcdefghijk";
const newStr = str.split('').reverse().join('');
console.log(newStr);
2.分别统计出 及格和不及格的分数总和
let subjectList = [
{ score: 10 },
{ score: 20 },
{ score: 30 },
{ score: 40 },
{ score: 50 },
{ score: 60 },
{ score: 70 },
{ score: 80 },
{ score: 90 },
{ score: 100 },
];
const fail = subjectList.filter(it => it.score < 60).reduce((acc, it) => acc += it.score, 0)
console.log("不及格:", fail);
const pass = subjectList.filter(it => it.score >= 60).reduce((acc, it) => acc += it.score, 0)
console.log("及格:", pass);
3. 截取域名 http://www.baidu.com 不能使用slice
let href = "http://www.baidu.com?name=zs&age=18&sex=男";
const newHref = href.split('?')[0]
console.log(newHref);
4. 获取问号后面的参数 name=zs&age=18&sex=男 并且转成对象 {name:‘zs’,age:18,sex:‘男’}
let href = "http://www.baidu.com?name=zs&age=18&sex=男";
const newHref1 = href.split('?')[1]
const newHref2 = newHref1.split('&')
let obj = {}
newHref2.forEach(it => { obj[it.split('=')[0]] = it.split('=')[1] })
console.log(obj);
5. 数字去重 [1,2,3,4,5]
let arr = [1, 2, 3, 4, 5, 1, 2, 3];
let newArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
console.log(newArr)
let newArr = []
arr.forEach(it => {
if (!newArr.includes(it)) {
newArr.push(it)
}
})
console.log(newArr)
const newArr = arr.reduce((acc, item) => acc.includes(item) ? acc : [...acc, item], [])
console.log(newArr)
console.log(new Set(arr));
console.log(Array.from(new Set(arr)));
6. 统计数组中每个元素出现的次数 {1:2,2:2,3:2,4:1,5:1}
let arr = [1, 2, 3, 4, 5, 1, 2, 3];
let obj = {}
arr.forEach(item => {
obj[item] = obj[item] ? obj[item] + 1 : 1
})
console.log(obj);