Math数组,date

  • Math任务

1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max

function random(a,b){
    return a + Math.floor(Math.random()*(b-a))
}
var arr = []
arr.push(random(0,10))
console.log(arr)
VM644:6 [6]
undefined
function random(a,b){
    return a + Math.floor(Math.random()*(b-a))
}
var arr = []
for(var i=0; i< 50; i++){
    arr.push(random(0,10))
}
console.log(arr)
VM646:8 (50) [5, 5, 6, 6, 4, 0, 5, 8, 2, 3, 9, 3, 8, 8, 6, 4, 5, 3, 4, 2, 6, 5, 9, 3, 9, 7, 7, 2, 8, 2, 6, 6, 5, 7, 6, 8, 5, 2, 4, 4, 5, 9, 3, 6, 6, 1, 4, 7, 6, 9]

2、写一个函数,返回从min都max之间的 随机整数,包括min包括max

function random(a,b){
    return a + Math.floor(Math.random()*(b-a))
}
var arr = []
for(var i=0; i< 50; i++){
    arr.push(random(0,11))
}
console.log(arr)
VM648:8 (50) [4, 1, 1, 4, 3, 8, 6, 7, 9, 3, 7, 0, 6, 1, 8, 1, 10, 5, 0, 7, 0, 8, 8, 3, 0, 1, 1, 6, 8, 0, 5, 0, 5, 7, 7, 10, 4, 6, 7, 1, 7, 0, 6, 3, 2, 8, 10, 4, 8, 1]
undefined
function random(a,b){
    return a + Math.floor(Math.random()*(b-a))
}
var arr = []
for(var i=0; i< 50; i++){
    arr.push(random(a,b+1))
}
console.log(arr)

3、写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。

function randomStr(len){
    var dict = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGJIJKLMNOPQRSTUVWXYZ'
    var str = ''
    for(var i= 0; i< len; i++){
        str += dict[random(0,62)]
    }
    return str
}
undefined
randomStr(10)
"0IYUFi9XAf"
randomStr(10)
"adc6yL6GdQ"
randomStr(10)
"sAjgGGdc65"

4、写一个函数,生成一个随机 IP 地址,一个合法的 IP 地址为 0.0.0.0~255.255.255.255

function randomIp(){
    var arr = []
    for(var i = 0; i< 4; i++){
        arr.push(random(0,266))
    }
    return arr.join('.')
}
undefined
randomIp()
"111.250.260.130"
randomIp()
"93.101.230.232"
randomIp()
"29.110.135.7"

5、写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff

var color = '0123456789abcdef'
function randomColor(){
    var arr = []
    for(var i = 0; i< 6; i++){
        var num = Math.floor(Math.random()*16)
        arr.push(color[num])
    }
    arr.splice(0,0,'#');
    return arr.join('')
}
undefined
randomColor()
"#195b92"
randomColor()
"#242f9a"
randomColor()
"#e5dd2d"
  • 数组任务

1、数组方法里push、pop、shift、unshift、join、splice分别是什么作用?用 splice函数分别实现push、pop、shift、unshift方法

作用:
push:末位加上一个或多个元素,数组长度+1或+n
pop:取出末位的一个元素,数组长度-1
shift:取出首位的一个元素,数组长度-1
unshift:首位加上一个或多个元素,数组长度+1或+n
join:传入一个参数(缺省值为','),将按照该参数将数组连接成字符串
splice:本质上是替换操作,可以对数组的任意位置进行增删改操作,有3个参数:
start:起始位置
length:替换长度
...items:一个或多个要替换的元素(省略即替换空,就是删除操作)

a = [2,3,4,5,6]
(5) [2, 3, 4, 5, 6]
a.push(3)
6
a
(6) [2, 3, 4, 5, 6, 3]
a.pop(1)
3
a
(5) [2, 3, 4, 5, 6]
a.pop(3)
6
a
(4) [2, 3, 4, 5]
a.pop
ƒ pop() { [native code] }
a.pop()
5
a
(3) [2, 3, 4]
a.shift()
2
a
(2) [3, 4]
a.unshift(2,5,7,8,0)
7
a
(7) [2, 5, 7, 8, 0, 3, 4]
arr = [1,2,3,4,5]
(5) [1, 2, 3, 4, 5]
arr.splice(1,2,7,8,9)
(2) [2, 3]
arr
(6) [1, 7, 8, 9, 4, 5]

2、写一个函数,操作数组,数组中的每一项变为原来的平方,在原数组上操作

var arr = [2, 4, 6]
function squareArr(arr){
    var result
    for(var i =0; i< arr.length; i++){
        result = arr[i]*arr[i]
        arr.splice(i,1,result)
    }   
    return arr
}

squareArr(arr)
console.log(arr)

写一个函数,操作数组,返回一个新数组,新数组中只包含正数,原数组不变.

    var newArr = [];
    for (var i =0; i 0) {
                newArr.push(arr[i]);
            }
        }
    }
    return newArr;
}
var arr = [3, -1,  2,  '饥人谷', true]
var newArr = filterPositive(arr)
console.log(newArr) 
console.log(arr)
  • date 任务

1、把hh-mm-dd格式数字日期改成中文日期

function getChsDate(str) {
    var dist = ["零","一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一"];
    var arr = str.split('-');
    var year = arr[0];
    var month = arr[1];
    var day = arr[2];

    var Chyear = dist[parseInt(year[0])] + dist[parseInt(year[1])] + dist[parseInt(year[2])] +dist[parseInt(year[3])] + '年';
var Chmonth = dist[parseInt(month)] + '月';
var Chday = dist[parseInt(day)] + '日';
return Chyear + Chmonth + Chday ;
}
var str = getChsDate('2015-01-08');
console.log(str);  // 二零一五年一月八日

你可能感兴趣的:(Math数组,date)