js数学方法

4/26/2024 js

# 1.数学方法

//获取圆周率
Math.PI
//向上取整
Math.ceil(99.1)     //100
//向下取整
Math.floor(99.91)   //99
//获取随机数  0-1的随机数, 不包含0和1
Math.random()
//四舍五入    注意 结果是一个字符串(保留两位)
let num4 = 33.3333.toFixed(2)
1
2
3
4
5
6
7
8
9
10

# 获取0-100的随机数 包含0和100

Math.floor(Math.random()*101)
1

包含起点和终点的公式

Math.floor(Math.random()*(终点值-起点值+1)+起点值
1

# 2.数组

# 1.数组的定义方式

//字面量
let arr = [111,222,333]
//
let arr = new Array(1,2,3)
1
2
3
4

# 2.数组取值

let arr = [11,22,33]
arr[2]
1
2

# 3.数组的遍历

arr.length;  //长度

1
2
let arr = [111,222,333,4]
for(let i=0;i<arr.length-1;i++){
    console.log(arr[i])
}
1
2
3
4

# 案例

let userList=[
    {name:'小明',gender:'男',age:20},
    {name:'小红',gender:'女',age:20},
    {name:'小强',gender:'男',age:20}
]
1
2
3
4
5
<body>
    <div class="box">
        
    </div>
    <script>
        let userList = [
            { name: '小明', gender: '男', age: 20 },
            { name: '小红', gender: '女', age: 20 },
            { name: '小强', gender: '男', age: 20 }
        ]
        let boxDom = document.querySelector('.box')
        let allStr = ''
        for(let i = 0;i<userList.length;i++){
            let str = '<p>姓名:'+userList[i].name+' 性别:'+userList[i].gender+' 年龄:'+userList[i].age+'</p>'
            console.log(str);
            //拼接输出
            boxDom.innerHTML += str;
            //用变量输出
            allStr += str
            boxDom.innerHTML = allStr;
        }
        
    </script>
</body>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 3.数组的内置方法

# 1.push

作用:末尾增加元素

返回值:数组的新长度

特点:修改原数组

语法:

arr.push()
1

案例:

let arr = [100,200]

console.log(arr.push(300,400,500));  //5 
console.log(arr);  //[100, 200, 300, 400, 500]
1
2
3
4

# 2.pop

作用:末尾删除元素

返回值:被删除的元素

特点:要修改原数组

语法:

arr.pop()
1

案例:

let arr = [100,200]

console.log(arr.pop());  //200
console.log(arr);   //[100]
1
2
3
4

# 3.unshift

作用:前面增加元素

返回值:数组的新长度

特点:要修改原数组

语法:

arr.unshift()
1

案例:

let arr = [100,200]

console.log(arr.unshift(30,50)); //4
console.log(arr);  // [30, 50, 100, 200]
1
2
3
4

# 4.shift

作用:前面删除元素

返回值:被删除的元素

特点:要修改原数组

语法:

arr.shift()
1

案例:

let arr = [100,200]
console.log(arr.shift());  //100
console.log(arr);  //[200]
1
2
3

# 5.splice

作用:在任意位置 增加 删除 替换元素

返回值:被删除的元素组成的数组

特点:要修改原数组

语法:

arr.splice(索引位置,删除掉元素个数,新增的元素值1,新增元素值2,新增····)
1

案例:

let arr = [100,200,300,400,500]
consolelog(arr.splice(1,1));   //[200]
console.log(arr);  //[100, 300, 400, 500]
1
2
3
let arr = [100,200,300,400,500]
arr.splice(1,1,1000,2000);   //[200]
console.log(arr);  //[100,1000,2000, 300, 400, 500]
1
2
3
let arr = [100,200,300,400,500]
arr.splice(1,0,1000,2000);   // []
console.log(arr);  //[100,1000,2000, 200,300, 400, 500]
1
2
3
let arr = [100,200,300,400,500]
arr.splice(2,2);     //[300,400]
console.log(arr);  //[100,200,500]
1
2
3

# 6.concat

作用:将后面数组的元素 合并 到数组1上

返回值:合并后的新数组

特点:不改变原数组

语法:

数组1.concat(数组2,数组3let 合并后的新数组 = 原数组.concat(数组2,数组3
1
2

案例:

let arr = [100,200,300,400,500]
let arr1 = [1000,2000]
let arr2 = [3000,4000]

// 合并
let newArrr =  arr.concat(arr1,arr2) 
console.log(newArrr);//[100, 200, 300, 400, 500, 1000, 2000, 3000, 4000]
console.log(arr);  // [100,200,300,400,500]
console.log(arr1); //[1000,2000]
console.log(arr2); //[3000,4000]
1
2
3
4
5
6
7
8
9
10
# 阶段练习:
let userList = [
        { sno:100,name: '罗美洁', gender: "女", age: 21 },
       { sno:101,name: '彭代晶', gender: '男', age: 22 },
       { sno:105,name: '陈玉婷', gender: '女', age: 23 }
]
  let userList1 = [
       { sno:107,name: '刘玉清', gender: "女", age: 22 },
  ]


//1.请添加张敏敏102  刘欢104  
 	let user1 = { sno: 102, name: '张敏敏', gender: "女", age: 21 }
    let user2 = { sno: 104, name: '刘欢', gender: "男", age: 21 }
    userList.splice(2, 0, user1,user2)
    console.log(userList);

//2.请修改 101的同学 年龄:23
	//方法一
	userList[i].age=23;
	//方法二
	let user3 = { sno: 101, name: '彭代晶', gender: '男', age: 23 }
    userList.splice(1, 1, user3)
    console.log(userList);

//3.请在尾部添加 106徐练 信息
    let user4 = { sno: 106, name: '徐练', gender: "女", age: 21 }
    userList.push(user4)
    console.log(userList);

//4.请删除 106同学的信息
    userList.pop()
    console.log(userList);

//5.请在前面添加一个 99 徐练   
    userList.unshift(user4)
    console.log(userList);

//6.请删除最前面的 99徐练的信息  
    userList.shift()
    console.log(userList);

//7.请合并另userList1 数组到 userList 中 ,打印输出userList 
    userList = userList.concat(userList1)
    console.log(userList);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44