华丽转身123 发表于 2018-5-5 09:38:05

console.log()里的内容看得见,inenrHTML打印出来都成了[Object,Object]

本帖最后由 华丽转身123 于 2018-5-5 10:41 编辑

console.log()里的内容
(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0
:
{学号: 2, 总成绩: 287}
1
:
{学号: 1, 总成绩: 285}
2
:
{学号: 4, 总成绩: 268}
3
:
{学号: 5, 总成绩: 274.5}
4
:
{学号: 6, 总成绩: 265}
5
:
{学号: 7, 总成绩: 284}
6
:
{学号: 8, 总成绩: 248}
7
:
{学号: 3, 总成绩: 230}
8
:
{学号: 10, 总成绩: 258}
9
:
{学号: 9, 总成绩: 185}
length
:
10
__proto__
:
Array(0)

innerHTML打印出来都成
















[object Object

**********************************************
我要怎样才能把console.log的内容正常输出呢

不二如是 发表于 2018-5-5 10:21:20

这个是对象,inenrHTML无法直接输出阿。

看一下你的标签代码,用最简单的DOM或者jqery都可以。

elang696 发表于 2018-5-5 10:25:16

不二如是 发表于 2018-5-5 10:21
这个是对象,inenrHTML无法直接输出阿。

看一下你的标签代码,用最简单的DOM或者jqery都可以。

装作没看到拼写错误{:10_279:}

华丽转身123 发表于 2018-5-5 10:41:49

elang696 发表于 2018-5-5 10:25
装作没看到拼写错误

谢谢提醒我改回来了{:5_91:}

华丽转身123 发表于 2018-5-5 10:44:56

本帖最后由 华丽转身123 于 2018-5-5 10:53 编辑

不二如是 发表于 2018-5-5 10:21
这个是对象,inenrHTML无法直接输出阿。

看一下你的标签代码,用最简单的DOM或者jqery都可以。

DOM我用的是div标签换成p标签也不行,都不行啊jquery我还不熟练不会用

不二如是 发表于 2018-5-5 10:53:11

华丽转身123 发表于 2018-5-5 10:44
DOM我用的是div标签换成p标签也不行,都不行啊jqery我还不熟练不会用

把你的全部代码,发上来~

华丽转身123 发表于 2018-5-5 10:55:53

本帖最后由 华丽转身123 于 2018-5-5 10:57 编辑

不二如是 发表于 2018-5-5 10:53
把你的全部代码,发上来~

<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <title>学生成绩</title>
                <style type="text/css">
                        div{
                                width: 200px;
                                width: 500px;
                                float: left;
                        }
               
                </style>
               
        </head>
        <body>
                <div id="output">学员的总成绩是:</div>
                <div id="ssput">学员的总成绩排名是:</div>
                <script>
                var out=document.getElementById("output");
                var oss=document.getElementById("ssput");
                var stu1 =[];
                var ss=[];
                var tt=null;
                                var stu=[{学号:1,语文:105,数学:62,英语:118},
                                               {学号:2,语文:89,数学:78,英语:120},
                                               {学号:3,语文:86,数学:64,英语:80},
                                               {学号:4,语文:78,数学:99,英语:91},
                                               {学号:5,语文:107.5,数学:97,英语:70},
                                               {学号:6,语文:112,数学:61,英语:92},
                                                {学号:7,语文:101,数学:79,英语:104},
                                                {学号:8,语文:71,数学:72,英语:105},
                                                {学号:9,语文:56,数学:68,英语:61},
                                                {学号:10,语文:98,数学:83,英语:77}]
                        stu.map(function(item){
                               
                               stu1.push('{'+'学号:'+item.学号+','+'总成绩:'+eval(item.语文+item.数学+item.英语)+'}');
                        });
                        function strToJson(str){   
                                var json = eval('(' + str + ')');   
                                return json;   
                                }   
                        for(var i=0;i<stu1.length;i++){
                                ss.push(strToJson(stu1));
                                        };
//                                console.log(typeof(ss));
                        for(var i=0;i<ss.length-1;i++){
                       
//                                console.log(typeof(status))
                                if(ss.总成绩<ss.总成绩){
                                        tt = ss;
                                        ss=ss;
                                        ss=tt;
//                               
                                };
                        };
                                for(var i=0;i<stu1.length;i++){
                                        out.innerHTML+='<br>'+stu1+'<br>';
                                       
                                };
                                console.log(ss);
                                for(var i=0;i<ss.length;i++){
                                        oss.innerHTML+='<br>'+ss+'<br>';
                                };
               
                </script>
        </body>
</html>

不二如是 发表于 2018-5-5 11:21:57

华丽转身123 发表于 2018-5-5 10:55



修改:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>学生成绩</title>
    <style type="text/css">
      div {
            width: 200px;
            width: 500px;
            float: left;
      }

    </style>

</head>
<body>
<div id="output">学员的总成绩是:</div>
<div id="ssput">学员的总成绩排名是:</div>
<script>
    var out = document.getElementById("output");
    var oss = document.getElementById("ssput");
    var stu1 = [];
    var ss = [];
    var tt = null;
    var stu = [{学号: 1, 语文: 105, 数学: 62, 英语: 118},
      {学号: 2, 语文: 89, 数学: 78, 英语: 120},
      {学号: 3, 语文: 86, 数学: 64, 英语: 80},
      {学号: 4, 语文: 78, 数学: 99, 英语: 91},
      {学号: 5, 语文: 107.5, 数学: 97, 英语: 70},
      {学号: 6, 语文: 112, 数学: 61, 英语: 92},
      {学号: 7, 语文: 101, 数学: 79, 英语: 104},
      {学号: 8, 语文: 71, 数学: 72, 英语: 105},
      {学号: 9, 语文: 56, 数学: 68, 英语: 61},
      {学号: 10, 语文: 98, 数学: 83, 英语: 77}];

    //    成绩求和
    stu.map(function (item) {
      stu1.push('{' + '学号:' + item.学号 + ',' + '总成绩:' + eval(item.语文 + item.数学 + item.英语) + '}');
    });

    //    左边"学好:x,总成绩:x"的创建
    function strToJson(str) {
      var json = eval('(' + str + ')');
      return json;
    }

    //console.log(typeof(ss));
    for (var i = 0; i < ss.length - 1; i++) {

//                              console.log(typeof(status))
      if (ss.总成绩 < ss.总成绩) {
            tt = ss;
            ss = ss;
            ss = tt;
//
      };
    };

    //    遍历将学号和总成绩录入到ss数组
    for (var i = 0; i < stu1.length; i++) {
      ss.push(strToJson(stu1));
    }


    //    输出stu1中的对象,左边所示
    for (var i = 0; i < stu1.length; i++) {
      out.innerHTML += '<br>' + stu1 + '<br>';

    }


    //    ss此时为一个对象,无法直接输出,要转换为string
    //利用原生的JSON.stringify()
    for (var i = 0; i < ss.length; i++) {
      oss.innerHTML += '<br>' + JSON.stringify(ss) + '<br>';
    }

</script>
</body>
</html>


问题:
object对象无法直接输出到页面,需要进行处理。

stu1有处理,而ss没有:



找到问题,答案就是怎么将object转换为string——》原生:JSON.stringify()

华丽转身123 发表于 2018-5-5 11:41:01

本帖最后由 华丽转身123 于 2018-5-5 12:10 编辑

不二如是 发表于 2018-5-5 11:21
修改:




看到不二老师做了那么多注释,我很羞愧啊,以后是不是写代码都要写注释才算是一个合格的程序员啊?{:5_97:}
还有个问题:
    for (var i = 0; i < ss.length - 1; i++) {

//                              console.log(typeof(status))
      if (ss.总成绩 < ss.总成绩) {
            tt = ss;
            ss = ss;
            ss = tt;
//
      };
    };

    //    遍历将学号和总成绩录入到ss数组
    for (var i = 0; i < stu1.length; i++) {
      ss.push(strToJson(stu1));
    }
************************
这代码将 //    遍历将学号和总成绩录入到ss数组 写在下面,程序不是自上而下的吗,运行到for (var i = 0; i < ss.length - 1; i++) 时,ss还是一个空的数组,为什么没出错?
页: [1]
查看完整版本: console.log()里的内容看得见,inenrHTML打印出来都成了[Object,Object]