<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
// 1.把字符串翻转 "kjihgfedcba"
let str = "abcdefghijk";
console.log(str.split('').reverse().join('').split());
// 2.分别统计出 及格和不及格的分数总和
let subjectList = [
{ score: 10 },
{ score: 20 },
{ score: 30 },
{ score: 40 },
{ score: 50 },
{ score: 60 },
{ score: 70 },
{ score: 80 },
{ score: 90 },
{ score: 100 },
];
let num = 0
subjectList.forEach(it => {
return it.score >= 60 ? num += it.score : num
})
console.log("及格的分数总和" + num);
let num1 = 0
subjectList.forEach(it => {
return it.score < 60 ? num1 += it.score : num1
})
console.log("不及格的分数总和" + num1);
let href = "http://www.baidu.com?name=zs&age=18&sex=男";
// 3. 截取域名 http://www.baidu.com 不能使用slice
let num3 = href.split('?')[0]
console.log(num3);
// 4. 获取问号后面的参数 name=zs&age=18&sex=男 并且转成对象 {name:'zs',age:18,sex:'男'}
// href.split('?')[1].split('&') 先截取?value 一个回调函数 key 键 ((value[key.split('=')[0]] = key.split('=')[1]), value) 选取第一部分的属性值=选取第二部分的属性值,执行回调出来的函数
let num9 = href.split('?')[1].split('&').reduce((value, key) => ((value[key.split('=')[0]] = key.split('=')[1]), value), {})
console.log(num9);
let obj = {}
let arr = [1, 2, 3, 4, 5, 1, 2, 3];
// 5. 数字去重 [1,2,3,4,5]
// let newArr = arr.filter(function (item, index) {
// return arr.indexOf(item) === index;
// });
// const newArr = arr.reduce((acc, it) => acc.includes(it)? acc: [...acc , it],[])
// 箭头函数中默认每一行自带一个return,而if else中没有,,,如果要执行放回语句的话的话只能从中加一个return
const newArr = arr.reduce((acc, it) => {
if (acc.includes(it)) {
return acc
}else{
return [...acc,it]
}
}, [])
console.log(newArr);
// 6. 统计数组中每个元素出现的次数 {1:2,2:2,3:2,4:1,5:1}
// let number = arr.reduce((index, nu) => {
// if (nu in index) {
// index[nu]++
// } else {
// index[nu] = 1
// }
// return index
// }, {})
let number = {}
arr.forEach(it => {
if (number[it]) {
number[it]++
} else {
number[it] = 1
}
})
console.log(number);
</script>
</body>
</html>
JavaScript字符串方法和数组方法作业
最新推荐文章于 2024-05-21 23:21:19 发布