js 数组 json对象

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script type="text/javascript">
        //求数组最大值和最小值
        var arr = [1, 2, 33, 12, 11]
        arr.sort(function(a, b) {
            return a - b;
        })
        console.log(arr[0], arr[arr.length - 1])
        console.log(Math.max(...arr))
        console.log(Math.min(...arr))
        console.log(Math.max.apply(null, arr))
        console.log(eval("Math.max(" + arr.toString() + ")"))
            //求数组平均值
        function arrAvg() {
            var arr = []
                //1、
                // for (let index = 0; index < arguments.length; index++) {
                //     const element = arguments[index];
                //     arr.push(element)
                // };
                //2、
                //arr = Array.prototype.slice.call(arguments)
                // arr.sort(function(a, b) {
                //     return a - b;
                // })
                //3、
            Array.prototype.sort.call(arguments, function(a, b) {
                return a - b;
            });
            console.log(arguments)
            arr = Array.prototype.slice.call(arguments); //将类数组转为真正的数组;
            arr.pop();
            arr.shift();
            console.log(arr);
            console.log((eval(arr.join("+")) / arr.length).toFixed(2))
        }
        arrAvg(8.5, 7.6, 9.1, 6.8, 7.4)
            //try catch
        try {

        } catch (e) {
            // new ReferenceError()//引用错误 
            // new TypeError()//类型错误
            // new RangeError()//范围错误
            //throw new Error("出错了");//手动抛出错误 n
        } finally {

        }
        //将数组转为真数组
        var utils = {
                listToArray: function(listArr) {
                    var arr = [];
                    try {
                        arr = [].slice.call(listArr);//ie 6-8不支持
                    } catch {
                        for (let index = 0; index < listArr.length; index++) {
                            const element = listArr[index];
                            arr.push(element);
                        }
                    }
                    return arr;
                };
              jsonStrToObj:function(jsonStr){
              //   var obj=null;
              //   try{
              //       obj=JSON.parse(jsonStr);
              //   }catch(e){
              //       obj=eval("("+jsonStr+")");//ie 6-8不支持
              //   }
              //return obj;
               return "JSON" in window?JSON.parse(jsonStr):eval("("+jsonStr+")");
               }
             
            };
            //json对象 js对象
        var obj = {
            name: "howhy",
            age: 22
        }; //js对象
        var jsonObj = {
            "name": "howhy1",
            "age": 12
        }; //json对象 属性名用双引号
        console.log(obj.name, jsonObj.name)
        console.log(JSON.stringify(obj))
        console.log(JSON.stringify(jsonObj))
        console.log(JSON.parse('{"name": "howhy1","age": 12}'))
    </script>
</body>

</html>

 

posted @ 2020-12-16 15:40  howhy  阅读(296)  评论(0)    收藏  举报