zoukankan      html  css  js  c++  java
  • javascript中的对象转数组的方法

    1. 对象没有length属性
    2.Array.prototype.slice.call(obj)能将具有length属性的对象转成数组,不带length属性的对象,只能声明数组去转换
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
        <script>
                  // 1. 对象没有length属性
                 //     Array.prototype.slice.call(obj)能将具有length属性的对象转成数组,不带length属性的对象,只能声明数组去转换
        let obj = {0: 'a', 1: 'b', 2:'c',length:3};
        let obj1 = {0: 'a', 1: 'b', 2:'c'};
        let arr = Array.from(obj); // ['a','b','c'];
        var arr2=[];
       for(var i in obj){
            arr2.push(obj[i]);
       }
      var arr3= Array.prototype.slice.call(obj)
        console.log(arr,arr2,arr3);
    
    
        //会输出undefined,因为对象是没有length属性的。
       // console.log(obj1.length);
        
    
    
         function test(a, b, c, d) {
                var arg = Array.prototype.slice.call(arguments, 1);
                alert(arg);
            }
            test("a", "b", "c", "d"); //b,c,d
    
    //通用的转化数组的方法
            var toArray = function (s) {
                if (s.length) {
                    return Array.prototype.slice.call(s);
                }
                else {
                    var arr = [];
                    for (var i in s) {
                       arr[i] = s[i];
                        //or
                       // arr.push(s[i]);
                    }
                    return arr;
                }
    
            }
        console.log(toArray(obj1));
    
    
        var t={
             id:2,
             name:"zain",
             sex:'男'
        };
        console.log(toArray(t));
        console.log(t['name'],t.name);
    
    
    
    
    
        </script>
    
    
    </body>
    </html>
    

      

    sometimes the hardest part isn't letting go,but rather start over
  • 相关阅读:
    啥叫ORM
    git reset --hard HEAD^ 在cmd中执行报错
    windows下生成文件目录树
    批量解决win10图标上有两个蓝色箭头的方法
    Sublime Text 3 安装包
    Sublime Text 3 部分安装过程记录
    sense8影评摘抄
    如何取消chrome的自动翻译
    把本地仓库同步到github上去
    关于PDF阅读器
  • 原文地址:https://www.cnblogs.com/zhumeiming/p/9959181.html
Copyright © 2011-2022 走看看