最近更新
阅读排行
读过本文章的之前读了
关注本站

《去哪儿网》前端面试总结1

阅读:4532 次   编辑日期:2014-01-21

目录:

概述:

今天到《去哪儿网》面了个试,面完之后深感自身差距太大,还是好好积累吧。但是把今天的面试经验总结一下,分享给大家。
本来想多写点,后来今天回家又写了点别的东西,就暂时把面试中的一道题写一下吧。说来今天很郁闷,有一个跟我同名字的面试,前台给我们弄 混了,做了一份其他题,都做了一部分了,后来前台告诉我写错了,没办法只能在从头写另一份题,虽然不难但是时间有些赶、思路有点乱,所以有些题没写上来, 回家的路上想了想,回家给实现了,有些繁琐,只是给大家提供个思路。

笔试题1:

把下面的数据
    {
        "name_a":{"price":100},
        "name_b":{"price":400},
        "name_c":{"price":200},
        "name_d":{"price":300}
    }
按照价格升序排列,例如:
    <p>名称:name_a价格100 </p>
    <p>名称:name_c价格200</p>
    <p>名称:name_d价格300</p>
    <p>名称:name_b价格400</p>
注意是带着HTML符号。

参考答案:

     var data = {
                    "name_a":{"price":100},
                    "name_b":{"price":400},
                    "name_c":{"price":200},
                    "name_d":{"price":300}
                };
        var num ;
        var num2 ;
        var arr1 = [];//把价格放进一个数组
        var arr2 = [];//把排序完成的放进一个数组
        var htmls = [];//把DOM结构放进一个数组
        var node ; //转换成字符串的数组存放
        var wrap ;//插入DOM节点的ID
        var length; //数组长度
        function auto(data){
            //拿出价格放进数组
            for(num in data){
                arr1.push(data[num].price);
            }
            //对数组进行排序
            function com(a,b){
                if(a > b){
                    return 1;
                }else if( a < b){
                    return -1;
                }else{
                    return 0;
                }

            }
            arr2 = arr1.sort(com);
            //获取数组长度
            length = arr2.length;
            //循环排好序的数组,与对象中的价格比较,如果相同则取属性名称
            for(var i = 0; i < length; i++){
                for(var num2 in data){
                    if(data[num2].price == arr2[i]){
                        htmls.push('

名称:' + num2+ '价格' + arr2[i] + '

'); } } } //把数组转换成字符串 node = htmls.join(""); //设置DOM节点ID wrap = document.getElementById("wrap"); //插入DOM节点 wrap.innerHTML = node; } auto(data);
将本篇文章分享到:
top