精华内容
下载资源
问答
  • 如何将对象添加数组,同时在控制台显示数组信息?
    千次阅读
    2018-07-04 20:54:31


    package cn.bdqn;
    
    public class Customer {
    	//属性
    	String name;
    	int age;
    	boolean isMember;
    	//方法 显示客户的信息
    	 public void show(){
       	  System.out.println(name+"\t"+age+"\t"+isMember);
         }
    }


    package cn.bdqn;
    //类
    import com.bdqn.Student;
    
    public class CustomerBiz {
    	// 新建一个 数组 名为customer,该数组内的 数组元素都是属于Customer类;
    	Customer[] customer=new Customer[10];
    	
    	//增加
    		//public void addStudent(int id,String name,int age,int score)
    	// 方法
    		public void addStudent(Customer cust){
    			for(int i=0;i<customer.length;i++){
    				if(customer[i]==null){
    					customer[i]=cust;
    					break;
    				}
    			}
    		}
    		
    		
    		public void showStudents() {
    			// TODO Auto-generated method stub
    			System.out.println("客户信息");
    			for(int i=0;i<customer.length;i++){
    				if(customer[i]!=null){
    					customer[i].show();//重要点: 数组元素customer[i] 调用 该类Customer中的方法
    				}
    			}
    		}
    }


    package cn.bdqn;
    
    public class TestCus {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		Customer customer1=new Customer();
    		customer1.name="张三";
    		customer1.age=30;
    		customer1.isMember=false;
    		Customer customer2=new Customer();
    		customer2.name="张三丰";
    		customer2.age=100;
    		customer2.isMember=true;
    		
    		CustomerBiz customerBiz=new CustomerBiz();
    		customerBiz.addStudent(customer1);
    		customerBiz.addStudent(customer2);
    		customerBiz.showStudents();
    	}
    
    }
    


    更多相关内容
  • 做checkbox多选功能的时候遇到了一个坑,逻辑怎么看都对,但是就是有bug,最后发现数组那里值变了页面勾选...你打开控制台,然后用前面例子的 items 数组调用变异方法:example1.items.push({ message: ‘Baz’ }) 。
  • 数组添加对象 & 通过递归数组,给数组中的对象添加新字段 & $set给对象添加新属性 & 遍历唯一ID标识-随机数或时间戳 1、空数组添加对象 var cardNumArr = []; //定义一个空的数组 var cardNumObj...

    数组中添加对象 & 通过递归数组,给数组中的对象添加新字段 & $set给对象添加新属性 & 遍历唯一ID标识-随机数或时间戳

    1、空数组中添加对象

      var cardNumArr = [];
            //定义一个空的数组
            var cardNumObj = {};
            //定义一个空的对象
            cardNumObj = {
                name: '李白',
                id: 1
       };
      cardNumArr.push(cardNumObj);
      console.log(cardNumArr);
    

    效果

    在这里插入图片描述

    2、js高效修改对象数组里的对象属性名

    有些时候,我们前端从后端拿过来的JSON对象数据,某些字段并不是前端想要的,需要对一些字段名进行重命名。一般修改对象数组的对象属性名:

    JSON.parse(JSON.stringify(data).replace(/name/g, 'new_name'))    
    //data为数组,name为修改前,new_name为修改后
    

    解释:

    1)JSON.stringify()把json对象转成json字符串;

    2)使用正则的replace()方法替换属性名;

    3)JSON.parse()把json字符串又转成json对象。

    修改多个属性:当要修改多个属性名时,多次调用replace方法,可以链式调用。如下面说明

    JSON.parse(JSON.stringify(data).replace(/name1/g, 'new_name1').replace(/name2/g, 'new_name2').replace(/name3/g, 'new_name3')...)   
    

    附:

    JSON.parse和JSON.stringify方法详解

    1、JSON.parse(“要转换的数据”)

    2、JSON.stringify(“要转化的数据”)

    3、首先,两个方法的用法是有差别的:

    ①.JSON.stringify是从一个对象中解析出字符串

    ②.JSON.parse是从一个字符串中解析出json(键值对)

    4、所以在使用的时候如果参数不对应,就不能正确转换:

    一.JSON.parse()【从一个字符串中解析出json对象】

    例子:

    1.定义一个字符串,var data=’{“name”:“goatling”}’

    2.解析对象,JSON.parse(data)

    3.结果是:

    name:“goatling”

    二.JSON.stringify()【从一个对象中解析出字符串】

    1.var data={name:‘goatling’}

    2.JSON.stringify(data)

    3.结果是:

    ‘{“name”:“goatling”}’

    实例-给数组对象修改属性名
    var arr = [{
             "courseName": "英语",
             "code": "english"
        },
        {
              "courseName": "药物化学",
              "code": "yw"
         }
    ];
    console.log(arr)
    arr = JSON.stringify(arr).replace(/courseName/g, "title").replace(/code/g, "name");
    console.log(arr)
    var b = JSON.parse(arr);
    console.log(b)
    

    显示效果

    在这里插入图片描述

    3、$set给对象添加新属性

    类似——Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上

    this.$set(el,"myID",myID)
    

    “myID”——key,对象属性名

    myID——value,属性值

    动态生成随机数——避免v-for或forEach等循环时,出现重复:key=index,出现控制台标红
    // 1、随机数——优选
    let myID = Math.random().tostring(36).substr(2);
    // 2、时间戳——遍历太快,会出现时间戳一样的情况
    let myID = Date.parse(new Date())
    
    通过递归数组,给数组中的对象添加新字段
    methods:{
        // 递归 添加字段
        recursion(arr) {
          console.log(arr)
          arr.forEach((el) => {
            console.log(el)
          //  let myID = Date.parse(new Date());
           let myID = Math.random().toString(36).substr(2);
            this.$set(el, "myID", myID);
              console.log(el)
             if (el.children && el.children.length) {
              this.recursion(el.children);
            }
          });
        },
    }
    
    //调用递归方法
     this.recursion(Array);
    
    var Array =  [{
        "id": 1,
        "showName": "XXX席位方案",
        "children": [{
            "id": 121,
            "showName": "XXX部们",
            "children": [{
                "id": 131,
                "showName": "系统分类",
                "children": [{
                    "id": 141,
                    "code": "172.16.66.212",
                    "showName": "电脑席位",
                    "startOver": 96,
                    "memoryUsage": 18,
                    "cpuUsage": 39,
                    "children": [{
                        "id": 151,
                        "showName": "软件开发",
                        "code": 65894234,
                        "startOver": 16,
                        "cpuUsage": 45,
                        "memoryUsage": 17
                    }]
                }]
            }]
        }]
      }]
    
    实例-递归方式添加数组中对象属性

    全代码单页面实例

    <!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>
      <div id="app">
        <button @click="showinfo(arr)">显示</button>
      </div>
    
     // <script src="./vue.js"></script>
    //    或
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    
      <script>
        var vm = new Vue({
          el: '#app',
          data: {
            arr: [{
              "id": 1,
              "showName": "XXX席位方案",
              "children": [{
                "id": 121,
                "showName": "XXX部们",
                "children": [{
                  "id": 131,
                  "showName": "系统分类",
                  "children": [{
                    "id": 141,
                    "code": "172.16.66.212",
                    "showName": "电脑席位",
                    "startOver": 96,
                    "memoryUsage": 18,
                    "cpuUsage": 39,
                    "children": [{
                      "id": 151,
                      "showName": "软件开发",
                      "code": 65894234,
                      "startOver": 16,
                      "cpuUsage": 45,
                      "memoryUsage": 17
                    }]
                  }]
                }]
              }]
            }]
          },
          // 给vue实例定义 方法,这个方法可以供事件操作使用
          methods: {
            showinfo: function (arr) {
              console.log(this)
              // 获取data数据,具体通过this关键字
              console.log(arr)
              arr.forEach((el) => {
                console.log(el)
                //  let myID = Date.parse(new Date());
                let myID = Math.random().toString(36).substr(2);
                this.$set(el, "myID", myID);
                console.log(el)
                if (el.children && el.children.length) {
                  this.showinfo(el.children);
                }
              })
            }
          }
        });
        console.log(vm)
      </script>
    </body>
    
    </html>
    

    显示效果

    在这里插入图片描述

    展开全文
  • auto 与 seeMore 属性请求到后台的数据后逐条添加的; 代码 主要补充的是页面加载时 js 中的初始化数据方法部分: Component({ /** * 组件的属性列表 */ properties: { // 定义一个list数组对象接收父组件...

    效果

    后台返回数据:

    添加属性后数据:

    说明

    autoseeMore 属性是在请求到后台的数据后逐条添加的;

    代码

    主要补充的是页面加载时 js 中的初始化数据方法部分:

    Component({
      /**
       * 组件的属性列表
       */
      properties: {
        // 定义一个list数组对象接收父组件传的数据
        list: {
          type: Array,
          value: []
        },
        scene: {
          type: String,
          value: ''
        }
      },
    
      /**
       * 组件的初始数据
       */
      data: {
    
      },
    
      /**
       * 组件的方法列表
       */
      methods: {
        /**
         * 添加展开/收起属性
         */
        init: function () {
          const that = this;
          // 给后台返还的数据就对象加对象属性值
          that.properties.list.forEach((r) => { // list是后台返回的数据
            r.auto = false; // r = list[0]的所有数据,这样直接 r.新属性 = 属性值 即可
            r.seeMore = false;
          });
          that.setData({ // 这里划重点 需要重新setData 下才能js 和 wxml 同步,wxml才能渲染新数据
            list: that.properties.list
          });
          console.log('list', that.properties.list);
        }
      },
    
      /**
       * 组件的生命周期
       */
      lifetimes: {
        attached: function () {
          // 在组件实例进入页面节点树时执行
    
        },
        detached: function () {
          // 在组件实例被从页面节点树移除时执行
    
        },
        ready: function () {
          const that = this;
          that.init();
        }
      }
    });
    

    如果不是写在组件上的,则:

    /**
     * 添加展开/收起属性
     */
    init: function () {
      const that = this;
      // 给后台返还的数据就对象加对象属性值
      that.data.list.forEach((r) => { // list是后台返回的数据
        r.auto = false; // r = list[0]的所有数据,这样直接 r.新属性 = 属性值 即可
        r.seeMore = false;
      });
      that.setData({ // 这里划重点 需要重新setData 下才能js 和 wxml 同步,wxml才能渲染新数据
        list: that.data.list
      });
      console.log('list', that.data.list);
    }
    

    别忘了在生命周期函数 onLoad,加载此方法;

    展开全文
  • java如何遍历对象数组

    2021-02-13 01:03:53
    // 数组元素实例化对象 break; } } } // 输出 public void showCustomers() { System.out.println("编号" + "\t" + "积分"); for (int i = 0; i ; i++) { if (customers[i] != null) { System.out.println(customers...

    第一个类publicclassCustomer{publicintintegral;//积分publicintnumber;//编号}第二个类publicclassCustManger{Customer[]customers=newCustomer[100];publicvoidadd(Customercust){...

    第一个类

    public class Customer {

    public int integral;// 积分

    public int number;// 编号

    }

    第二个类

    public class CustManger {

    Customer[] customers = new Customer[100];

    public void add(Customer cust) {

    for (int i = 0; i < customers.length; i++) {

    if (customers[i] == null) {

    customers[i] = cust;// 数组元素实例化对象

    break;

    }

    }

    }

    // 输出

    public void showCustomers() {

    System.out.println("编号" + "\t" + "积分");

    for (int i = 0; i < customers.length; i++) {

    if (customers[i] != null) {

    System.out.println(customers[i].number + "\t"

    + customers[i].integral);

    }

    }

    }

    }

    测试类

    import java.util.Scanner;

    public class CustomerText {

    public static void main(String[] args) {

    Customer cust = new Customer();// 属性对象

    CustManger cust2 = new CustManger();// 方法对象

    Scanner input = new Scanner(System.in);

    for (int i = 0; i < 2; i++) {

    System.out.print("输入会员编号:");

    cust.number = input.nextInt();

    System.out.print("输入会员积分:");

    cust.integral = input.nextInt();

    cust2.add(cust);// 传入对象参数

    }

    System.out.println("***会员列表***");

    cust2.showCustomers();

    }

    }

    控制台结果:

    输入会员编号:888888

    输入会员积分:88

    输入会员编号:666666

    输入会员积分:66

    ***会员列表***

    编号 积分

    666666 66

    666666 66

    输出时第二次覆盖了第一次 哪里出错了?刚学java没多久只学了基础 刚学到简单的类和对象

    求大神简单解答下 谢谢!

    展开

    展开全文
  • ”首先,解释的话,原因就是Object.observe 已经被废弃了,所以vue不会用一个废弃jsapi来实现对象属性监听。https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/observe...
  • js向对象添加元素(对象,数组)

    千次阅读 2022-03-08 11:25:50
    这样添加进去的元素,就是一个值 或 对象数组 var obj = {"name":"leo"}; console.log(obj); <!-- 往对象添加元素 对象名["属性名"] = 值 (值:可以是一个值,可以是一个对象,也可以是一个数组) 这样添加...
  • 这次给大家带来JS实现json对象数组对象属性排序步骤详解,JS实现json对象数组对象属性排序的注意事项有哪些,下面就是实战案例,一起来看一下。实际工作经常会出现这样一个问题:后台返回一个数组中有i个json...
  • 我们可以使用computed去监听视图中data数据的变化,但是,有两种类型是监听不了,那就是对象数组。 watch 接下来,我们使用watch属性去监听这两种数据类型内部成员值的变化。 1.deep 增加deep选项,监听对象内部...
  •   1 var a =[{name: 'Tom',...  现在给a数组中的第一个对象添加性别属性 1 2 3 a[0]['gender']='women' a[0]['address']="China" a[1].provinc...
  • 做checkbox多选功能的时候遇到了一个坑,逻辑怎么看都对,但是就是有bug,最后发现数组...数组更新检测变异方法push()pop()shift()unshift()splice()sort()reverse()你打开控制台,然后用前面例子的 items 数组调...
  • 3.修改data数组对象属性(注意ListProp必须是双引号) var chListShow=!this.data.ListData[e.target.dataset.index].chListShow // e.target.dataset.index var ListProp="ListData["+e.target....
  • //火狐控制台打印输出: Object { fileNumber="文件编号", fileName="文件名称"} for(var key in jsonData) console.log("属性:" + key + ",值:"+ jsonData[key]); } 打印输出: 属性:fileNumber, 值:文件编号 ...
  • /任务二:创建士兵(Soldiers)类,该类有三个属性name(名字),x(横坐标),y(纵坐标) 该类中定义有参构造方法,该方法有一...主方法中使用for循环创建5个士兵对象,每个士兵对象的姓名以及x,y坐标是通过用户...
  • 创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 比如,创建一个学生年龄数组,该数组的值必须大于法定饮酒年龄: const studentsAge = [17, 16, 18, 19, 21, 17]; const ableToDrink = studentsAge....
  • js中json对象数组对象属性排序 实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序。 例如返回的数据结构大概是这样: result=[ {id:1,name:...
  • vue中请求接口中,存在多个方法同时依赖同一个方法的情形,当所依赖的方法需要新增入参时,则需要同时修改多个依赖该方法的入参,为此,可以使用vue给对象动态添加属性和值的特性公用方法中设置共同的参数。...
  • 今日内容介绍u 对象数组u 集合类之ArrayListu 学生管理系统案例第1章 对象数组1.1 对象数组概述A:基本类型的数组:存储的元素为基本类型int[] arr={1,2,3,4}B:对象数组:存储的元素为引用类型Student[] stus=new ...
  • 从后台获取数组对象,想给对象添加前端用得上的属性如item_checked: false 代码 axios.get(url).then(response=>{ if(response.status === 200){ this.list = response.data this.list.forEach(el=>{ ...
  • 向响应式对象添加属性   &lt;div id="div"&gt; &lt;p &gt;{{items}}&lt;/p&gt; &lt;/div&gt; &lt;script&gt; var vm = new Vue({ el:"#div",...
  • 当一个数组内部元素为...如果数组赋值的时候直接给对象赋值则会报错,如下所示: 下面给出两种解决办法: 1、通过循环直接向每个数组元素的对象赋值 2、通过先给对象赋值,然后把对象 push 进数组的方式 ...
  •  1、当你发现你给对象加了一个属性在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到this.$set()这个方法了,简单来说this.$set的功能就是解决这个问题的啦。官方解释:向响应式对象中...
  • js创建数组(数组元素都是对象对象 var obj = { //属性1 attribute1:' ', //属性2 attribute2:' ' } 数组 这里创建的是空数组,并且不会指定数组...给数组添加元素 var test = function(){ //数组 var a
  • console对象是JavaScript的原生对象,用于与控制台窗口互动。 console.log() 用于console窗口输出信息。 可接受多个参数,并将结果连接起来输出。 console.log("Hello World") // Hello World console.log("a...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,338
精华内容 21,335
关键字:

控制台怎么在对象数组里添加对象属性