精华内容
下载资源
问答
  • js 对象数组添加属性、修改属性

    万次阅读 2018-10-12 19:24:14
    var kvArray = [{key: 1, value: 10}, {key: 2, value: 20}, ...> Array [Object { key: 1, value: 10, id: 0 }, Object { key: 2, value: 20, id: 1 }, Object { key: 3, value: 30, id: 2 }]   参考: ...
    var kvArray = [{key: 1, value: 10}, 
                   {key: 2, value: 20}, 
                   {key: 3, value: 30}];
    var reformattedArray = kvArray.map(function(obj,index) { 
      console.log(index)
       var rObj = {};
       rObj.id=index;//添加id属性
       rObj[obj.key] = obj.value;//修改属性
       return rObj;
    });
    console.log(reformattedArray);
    
    var reformattedArray2 = kvArray.map(function(obj,index) { 
       obj.id=index;//添加id属性
       return obj;//如果不返回则输出: Array [undefined, undefined, undefined]
    });
    console.log(reformattedArray2);

    输出:

    > 0

    > 1

    > 2

    > Array [Object { 1: 10, id: 0 }, Object { 2: 20, id: 1 }, Object { 3: 30, id: 2 }]

    > Array [Object { key: 1, value: 10, id: 0 }, Object { key: 2, value: 20, id: 1 }, Object { key: 3, value: 30, id: 2 }]

     

    参考:

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map

     

    欢迎关注我的公众号

    展开全文
  • 4、Numpy 数组属性

    2019-04-25 13:42:45
    1、番外说明 大家好,我是小P,本系列是本人对Python模块Numpy的一些学习记录,总结于此一方面方便其它初学者学习,另一方面害怕自己遗忘,希望大家喜欢...点击链接加入群聊【Object Detection】:https://jq.qq.com...

    1、番外说明

    大家好,我是小P,本系列是本人对Python模块Numpy的一些学习记录,总结于此一方面方便其它初学者学习,另一方面害怕自己遗忘,希望大家喜欢。此外,对“目标检测/模型压缩/语义分割”感兴趣的小伙伴,欢迎加入QQ群 813221712 讨论交流,进群请看群公告!(可以点击如下连接直接加入!)
    点击链接加入群聊【Object Detection】:https://jq.qq.com/?_wv=1027&k=5kXCXF8

    2、正题

    参考链接:

    http://www.runoob.com/numpy/numpy-array-attributes.html
    https://cloud.tencent.com/developer/article/1106669

    NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。

    在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。

    很多时候可以声明 axis。axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作。

    NumPy 的数组中比较重要 ndarray 对象属性有:
    在这里插入图片描述

    ndarray.ndim

    ndarray.ndim 用于返回数组的维数,等于秩。

    实例

    import numpy as np 
    a = np.arange(24)  
    print (a.ndim)             # a 现只有一个维度
    
    # 现在调整其大小
    b = a.reshape(2,4,3)       # b 现在拥有三个维度
    print (b.ndim)
    

    输出结果为:

    1
    3
    

    reshape函数调整数组得维度,当a变为3个维度后可以通过3个索引访问a的元素,如a[1][1][1]

    ndarray.shape

    ndarray.shape 表示数组的维度,返回一个元组,这个元组的长度就是维度的数目,即 ndim 属性(秩)。比如,一个二维数组,其维度表示"行数"和"列数"。

    ndarray.shape 也可以用于调整数组大小,功能同reshape

    实例看一个数组的维度

    import numpy as np  
    a = np.array([[1,2,3],[4,5,6]])  
    print (a.shape)
    

    输出结果为:

    (2, 3)
    

    其中2表示数组的行数为2,3表示数组的列数为3

    实例调整数组大小

    import numpy as np 
    a = np.array([[1,2,3],[4,5,6]]) 
    a.shape =  (3,2)  
    print (a)
    

    输出结果为:

    [[1 2]
     [3 4]
     [5 6]]
    

    注意:在进行数组大小调整前后的元素个数一定要一致,即调整前后的size相等,否则报错,如:

    y = np.zeros((2, 3, 4))
    y.shape=(2,8)
    Traceback (most recent call last):
      File "<ipython-input-82-96426d95e433>", line 1, in <module>
        y.shape=(2,8) 
    ValueError: cannot reshape array of size 24 into shape (2,8)
    

    NumPy 也提供了 reshape 函数来调整数组大小。

    实例使用reshape调整数组的维度大小

    import numpy as np 
    a = np.array([[1,2,3],[4,5,6]]) 
    b = a.reshape(3,2)  
    print (b)
    

    输出结果为:

    [[1, 2] 
     [3, 4] 
     [5, 6]]
    

    ndarray.itemsize

    ndarray.itemsize 以字节的形式返回数组中每一个元素的大小。

    例如,一个元素类型为 float64 的数组 itemsize 属性值为 8(float64 占用 64 个 bits,每个字节长度为 8,所以 64/8,占用 8 个字节),又如,一个元素类型为 complex32 的数组 itemsize 属性为 4(32/8)。

    实例:查看数组中每一个元素的大小

    import numpy as np 
    
    # 数组的 dtype 为 int8(一个字节)  
    x = np.array([1,2,3,4,5], dtype = np.int8)  
    print (x.itemsize)
    
    # 数组的 dtype 现在为 float64(八个字节) 
    y = np.array([1,2,3,4,5], dtype = np.float64)  
    print (y.itemsize)
    

    输出结果为:

    1
    8
    

    ndarray.flags

    ndarray.flags 返回 ndarray 对象的内存信息,包含以下属性:
    在这里插入图片描述

    实例:查看数组的内存信息

    import numpy as np 
    x = np.array([1,2,3,4,5])  
    print (x.flags)
    

    输出结果为:

    C_CONTIGUOUS : True
    F_CONTIGUOUS : True
    OWNDATA : True
    WRITEABLE : True
    ALIGNED : True
    WRITEBACKIFCOPY : False
    UPDATEIFCOPY : False
    

    ndarray.size

    获取数组元素的总个数
    实例:获取数组元素的总个数

    B=np.ones((2,2,3),dtype=np.float32)
    print(B.size)
    

    输出结果为:

    12
    

    ndarray.real

    实例:得到adrray元素的实部

    B=np.ones((2,2,3),dtype=np.complex)
    print(B.real)
    

    输出结果为:

    [[[1. 1. 1.]
      [1. 1. 1.]]
    
     [[1. 1. 1.]
      [1. 1. 1.]]]
    

    同样,可以获得虚部:

    print(B.imag)
    

    输出结果为:

    [[[0. 0. 0.]
      [0. 0. 0.]]
    
     [[0. 0. 0.]
      [0. 0. 0.]]]
    
    展开全文
  • java对象数组 创建对象数组,初始化对象数组

    万次阅读 多人点赞 2019-07-30 16:34:15
    如果一个数组中的元素是对象类型,则称该数组为对象数组。 当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。 对象数组的定义和使用: 对象数组的定义与一般数组的...

    对象数组的概念:
    如果一个数组中的元素是对象类型,则称该数组为对象数组。
    当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。
    对象数组的定义和使用:
    对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例化。
    对象数组的声明形式是:
    类名 对象数组名 [ ];
    为对象数组分配内存空间:
    对象数组名=new 类名[数组长度];//注意 :此处不是构造方法了
    可以将对象数组的声明和创建用一条语句来完成。例如:定义一个学生类对象数组,可以用下面的语句定义:Student stu[ ]=new Student[30]; stu [ ]是对象数组名,它所表示的数组一共有30个元素,每一个元素都是Student类的对象名,还没有实例化,所以还必须为每一个元素实例化。比如如下的过程:
    for(int i=0;i<stu.length;i++)
    stu[i]=new Student();
    实例化以后就可以使用每一个元素对象。
    设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息

    //设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息
    class Employee {   //雇员类
     private String id;  //编号
     private String name; //姓名
     private int age;     //年龄
     private String vocation; //职务
     public Employee(){} //构造方法一
     public Employee(String id,String name,int age,String vocation){
      set(id,name,age,vocation);
     }
     //设置属性的方法
     public void set(String id,String name,int age,String vocation){
      this.id=id;
      this.name=name;
      this.age=age;
      this.vocation=vocation;
     }
     public String toString() {
      String mess=id+","+name+","+age+","+vocation;
      return mess;
     }
    }
    public class Example4  {
     public static void main(String[] args) {
      Employee 雇员[]=new Employee[3];
      int i;
      for(i=0;i<雇员.length;i++)//为对象数组中每一个元素实例化
      雇员[i]=new Employee();//如果没有写构造方法一,而这样写,会出错
      //因为类中有有参的构造方法,系统就不会在默认给无参的构造方法了,
      //所以当类中写了有参的构造方法后,要用无参的构造方法时必须写出来
      
      //每一个对象元素分别初始化
      雇员[0].set("0001","张文军",50,"总经理");
      雇员[1].set("0002","李琦",45,"副经理");
      雇员[2].set("1016","张丽",28,"秘书");
      for (Employee employee:雇员)
       System.out.println(employee.toString());
     }
    }
    

    在这里插入图片描述
    普通型for循环和增强型for循环
    普通型

    a={1,2,3,4,5};
    for(int i=0;i<a.length;i++) {
     System.out.println9(a[1]);
    }
    

    增强型

    for(int element:a) {
    System.out.println(element);
    }
    

    两者结果相同,但是增强型更为简洁

    对象数组还可以采用初始化的方法创建。创建形式是:
    类名 对象数组名[ ]={对象列表};

    设计一个雇员类,创建雇员类的对象数组并初始化,输出每个雇员的信息,仍然沿用上面的Employee类,程序如下

    class Employee {   //雇员类
     private String id;  //编号
     private String name; //姓名
     private int age;     //年龄
     private String vocation; //职务
     public Employee(){} //构造方法一
     public Employee(String id,String name,int age,String vocation){
      set(id,name,age,vocation);
     }
     //设置属性的方法
     public void set(String id,String name,int age,String vocation){
      this.id=id;
      this.name=name;
      this.age=age;
      this.vocation=vocation;
     }
     public String toString() {
      String mess=id+","+name+","+age+","+vocation;
      return mess;
     }
    }
    public class Example11 {
     public static void main(String[] args) {
      //先创建3个雇员对象
      Employee employee1=new Employee("0001","张文军",50,"总经理");
      Employee employee2=new Employee("0005","李琦",45,"副经理");
      Employee employee3=new Employee("1016","张丽",28,"秘书");
      //声明对象数组并直接初始化
      Employee 雇员1[]={employee1,employee2,employee3};
      output(雇员1);//输出雇员信息
      System.out.println("------------------");//分割线
      //声明对象数组并直接初始化,初始化元素直接调用
      //构造方法创建对象
      Employee 雇员2[]={new Employee("0001","张文军",50,"总经理"),
      new Employee("0005","李琦",45,"副经理"),
      new Employee("1016","张丽",28,"秘书")};
      output(雇员2);
     }
     //定义方法用于输出雇员信息,注意方法是private,static
     private static void output(Employee 雇员[]){
      for(Employee employee:雇员)
       System.out.println(employee.toString());
     }
    }
    

    在这里插入图片描述

    展开全文
  • js数组对象属性与方法的使用

    千次阅读 2018-08-29 16:32:11
    最近在撸码过程中,突然发现需要处理很多的js数组,但是对于处理数组的方法很...上面3个属性,是所有数组对象自带的,length大家经常用我就不多废话了,下面我来带大家实践一下constructor(构造器)和prototype(原型...

    最近在撸码过程中,突然发现需要处理很多的js数组,但是对于处理数组的方法很多都想不起来了,所以作为大白的我趁这个时间果断复习并整理了一遍,内容相当通俗易懂,废话不多说,上干货!


    一、数组对象的属性
    来张w3cschool的官方图:
    数组属性
    上面3个属性,是所有数组对象自带的,length大家经常用我就不多废话了,下面我来带大家实践一下constructor(构造器)和prototype(原型)这两个属性:
    首先看看constructor什么鬼:

    var test=new Array(1,2,3);
    var test1 = new Object({
        name:'zhangsan',
        age:24
    });
    function employ(name,job,born){
        this.name=name;
        this.job=job;
        this.born=born;
    }   
    var test2=new employ("Bill Gates","Engineer",1985); 
    console.log(test.constructor); //ƒ Array() { [native code] }
    console.log(test1.constructor);//ƒ Object() { [native code] }
    console.log(test2.constructor);//ƒ employ(name,job,born){this.name=name;this.job=job;this.born=born;}
    if(test.constructor==Array && test1.constructor==Object && test2.constructor==employ){
        console.log(true);//true
    }else{
        console.log(false);
    }

    结论:可以返回该对象的构造器,不仅仅是数组对象;

    再看prototype:

    var obj = new Object({
        type:'pc',
        name:'computer'
    });
    console.log(obj.price);//undefined
    Object.prototype.price = 1500;
    console.log(obj.price);//1500
    
    var arr = new Array(1,2,3);
    Array.prototype.type = 'INT';
    console.log(arr.type);//INT

    结论:可以向对象添加属性,包括数组对象;

    二、数组的方法
    来张w3cschool的官方图:
    这里写图片描述
    下面带着大家实践一遍总共14个方法,见好就收藏:

    //concat()
    var arr1 = new Array(1,2,3);
    var arr2 = new Array('zhangsan','lisi');
    var arr3 = new Array(true,false);
    console.log(arr1.concat(arr2,arr3));//[1, 2, 3, "zhangsan", "lisi", true, false]
    
    //join()    
    var arr4 = new Array('c:','dir1','dir2','dir3','config.js');   
    console.log(arr4.join('/'));//c:/dir1/dir2/dir3/config.js   
    
    //pop() 
    var arr5 = new Array('ajax','vue','css3','html5','javascript');    
    console.log(arr5.pop());//javascript  
    console.log(arr5);//["ajax", "vue", "css3", "html5"]  
    
    //push()注意参数不能直接放数组名
    var arr6 = new Array('ajax','vue','css3','htnl5','javascript'); 
    console.log(arr6.push('nodejs','express'));//7       
    console.log(arr6);//["ajax", "vue", "css3", "htnl5", "javascript", "nodejs", "express"]   
    
    //reverse() 
    var arr7 = new Array(1,2,3,4,5);
    console.log(arr7.reverse());//[5, 4, 3, 2, 1]
    
    //shift()
    var arr8 = new Array('start','content','end');  
    console.log(arr8.shift()); //start  
    console.log(arr8); //["content", "end"]   
    
    //slice()   
     var arr9 = new Array('one','two','three','four','five'); 
     console.log(arr9.slice(2,4)); //["three", "four"]
     console.log(arr9.slice(-2)); //["four", "five"]  如果参数为负,则最后位置为-1,倒数第二位置为-2
    
    //sort()    
    var arr10 = new Array('George','John','Thomas','James','Adrew','Martin');  
    
    //splice()  
    var arr11 = new Array(1,2,3,4,5); 
    arr11.splice(1,1,22)
    console.log(arr11); //[1, 22, 3, 4, 5]      
    
    //toSource()该方法返回对象内部的源代码,只有Firefox支持,略过
    
    //toString()
    var arr12 = new Array(1,2,3,4,5);
    console.log(arr12.toString(arr12));//1,2,3,4,5
    
    //toLocaleString()  使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串。
    var arr13 = new Array('one','two','three','four','five');
    console.log(arr13.toLocaleString());//one,two,three,four,five
    
    //unshift()   
    var arr14 = new Array('one','two','three','four','five'); 
    console.log(arr14.unshift('zero')); //6
    console.log(arr14);//["zero", "one", "two", "three", "four", "five"] 
    
    //valueOf()
    var arr15 = new Array(1,2,3)
    console.log(arr15.valueOf());//[1, 2, 3]
    展开全文
  • } 输出结果 [小一, 小二, 小三] 曾经我有疑问, 那如果我的对象不是实体而是Map呢, 我要去抽取key出来重新组成数组是否可行? 经过测试, 是可以的, @Test public void test02(){ List, Object>> maps = new ...
  • TypeScript 对象数组按照属性过滤数据

    千次阅读 2020-12-13 17:31:44
    2、输出结果 -----------------------示例一--------------------- [ { id: 4, name: '赵六', age: 40 }, { id: 5, name: '王二小', age: 35 }, { id: 6, name: '张小嘎', age: 25 } ] -----------------------示例...
  • js array属性方法array.pop : 删除数组内的最后一个对象array.shift :删除数组内的第一个对象array.join: 数组内元素弄成字符串插入页面array.reverse : 数组内元素倒置array.concat : 数组合并,但是谁与谁合并,要...
  • 字符串(string),数组(array),对象(object),互相转化的方法 字符串转数组: 方法:str.split(’,’) 这里用的是“,”做分割符,换成其他也是可以的,例如str.split(‘星’) var str1= '海王星,冥王星,地球,...
  • Python提供了一个array模块,和list不同,他直接保存数值。但是由于Python的array不支持多维,...1 数组属性 ndarray(数组)是存储单一数据类型的多维数组 属性 说明 ndim 返回int,表示数组的维度 sha...
  • js数组去重(区分object、“NaN”、NaN)

    千次阅读 多人点赞 2021-02-21 23:37:33
    数组去重在前端面试中比较常见,今天来复习复习。 var arr =[1, 1, 'true', 'true', true, true, 15, 15, false, false, undefined, undefined, null, ...在第七种方法利用对象属性去重中优化了一下,成功去重,得到
  • 条件:在Vue中objectList:[] 接收的后台数据是一个对象数组, 对其进行遍历,得到某个具体的对象 //遍历对象数组,item表示某个具体的对象 for(var item=0;item<this.objectList.length;item++){ //使用for in ...
  • Object.entries方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值对数组。 var obj = { foo: 'bar' , baz: 42 }; Object.entries(obj) //Object.values会过滤属性名...
  • 最近遇到了一道多条件排序题,类似于“something有A,B,C三个属性,先比较A,A条件相同时再比较B,B条件相同时再比较C,排序输出”的形式。这类题目用C/C++解决起来会很顺手,可以用结构体,结合sort和compare,就能...
  • 1、先来看个简单的例子 var array = [{"name":"a1"},{"name":"b1"}];...2、再来换个例子,objectArray是个数组,里面存放了对象,首先往 objectArray 对象里存放 Key 属性属性值,再判断 num...
  • 在 compare(prpertyName)函数中 可以在加入 type 的属性,方便在函数中进行判断需要输出升序降序,在js原生中我没有添加,我会在以下附上 js 原生的代码和 React 组件的代码,不多说直接上代码。 ==&gt; 小弟...
  • 这里说的数组是内置数组,类似 int a[] = new int[3] 这样的数组。 官方链接 摘录 The members of an array type are all of the following: Thepublicfinalfieldlength, which contains the number of ...
  • 1.基本数据类型 ①Java中共有八种基本数据类型:byte,int,short,long,float,double,char,boolean。 举例 直接输出对应数值 ...以object类型传入,调用的是object的tostring ②同理,数组也是...
  • Object.keys(‘检测对象’) var obj = {“a”:1,”b”:2}; Console.log(Object.keys(obj)) //[ ‘a’, ‘b’ ]
  • python实现数组属性

    千次阅读 2015-02-17 11:54:04
    属性的简单用法属性看起来像是对成员进行直接访问,但又可以像函数一样对成员访问进行其他处理,所以属性是一种兼具易用性和数据封装的语言设施。
  • 记录贴 业务去重 另外还有linkedhashset和set集合可天然去重 @Data public class Person { private String name;...//从特定集合/数组去除重复对象 适用全局不允许重复 public static void check...
  • var values=function(object) { var values = []; for (var property in object) values.push(object[property]); return values; } //写成标准的方法(数组object的一
  • 今天意外地发现JavaScript是不能用==或===操作符直接比较两个数组是否相等的。 alert([]==[]); // false alert([]===[]); // false 以上两句代码都会弹出false。 因为JavaScript里面Array是对象,=...
  • 从对象数组中筛选出某些属性值的项 const arr = [1,2,3,4,5,6,7] const list = [ {id: 1, timelineId: 1, showNo: 1, uid: 1}, {id: 2, timelineId: 1, showNo: 1, uid: 1}, {id: 9, timelineId: 1, showNo: 1,...
  • 如何快速抓取对象数组中某个属性的Key的集合? 输入数据格式如下 ,要求抓取operations之所有Key的不重复的集合, 形如[‘free’,‘close’]等。 const data = [ {id: 1, label: '全部', billStatus: 'all...
  • 其实在Javascript这种弱类型的脚本语言中,数组同时也就是字典,下面主要就是字典数组的简易使用 代码: 1. 数组中添加map [html] view plaincopy <!DOCTYPEhtmlPUBLIC"-//W3C//DTD...
  • JavaScript 数组 length 属性 JavaScript 数组 length 属性可返回或设置或组中元素的数目,语法如下: array_object.length 利用 length 属性得到元素数目 <script language="JavaScript"> var ...
  • js对象输出 object object

    2017-05-09 02:55:43
    js对象输出,先前一直是object object,后来刷新几次,就变成输出属性值了,这是什么?
  • 下图是以上json 于控制台输出结果 取 round . data 中的key与value: $.getJSON("json/Child.json", function(res) { var pie = res.round; var data; for (s in pie) {  data = pie[s].data.map...
  • 参数可以对象,数组,字符串 对象——返回可枚举属性数组 数组——返回索引数组 字符串——返回索引数组 2.举例 返回可枚举属性组成的数组。 eg1:操作对象 let myself={ name:'ting', age:18, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 214,285
精华内容 85,714
关键字:

数组输出属性为object