object

Get property names from PHP stdClass

自古美人都是妖i 提交于 2020-02-29 05:36:17
问题 I have an array object that looks like: $inDatabase = Array ( [0] => stdClass Object ( [abc@gmail.com] => Array ( ) ) [1] => stdClass Object ( [xyz@gmail.com] => Array ( ) ) ) How do I push email addresses onto a new array? I tried the following: $innerKeys =[]; $temp=[]; for($i=0;$i<2;$i++){ $temp = array_keys($inDatabase[$i]) //so I thought $temp[0] would have the email address but $temp is null. array_push($innerKeys,$temp[0]); } 回答1: array_keys() is for arrays. To turn the object

[ python ] 类中的一些特殊方法

ε祈祈猫儿з 提交于 2020-02-29 01:37:39
item系列 __getitem__(self, item) 对象通过 object[key] 触发 __setitem__(self, key, value) 对象通过 object[key] = value 触发 __delitem__(self, key) 对象通过 del object[key] 触发 class Func: def __getitem__(self, item): # object[item] 触发 return self.__dict__[item] def __setitem__(self, key, value): # object[key] = value 触发 self.__dict__[key] = value def __delitem__(self, key): # del object[key] 触发 print('delitem: 删除key') del self.__dict__[key] def __delattr__(self, item): # del object.item 触发 print('delattr: 删除key') del self.__dict__[item] f = Func() f['name'] = 'hkey' # __setitem__ f['age'] = 20 # __setitem__ print

python处理大型csv文件——pandas数据分析(含有毫秒的时间类型转换,根据需求显示年月日,显示全部行和列,某列频数统计)

柔情痞子 提交于 2020-02-28 22:20:03
打开一个数据集,df=pd.read_csv(‘filename.csv’) #数据集较大时候用分块读取数据方法chunksize=1000,iterator=True 数据集内容为: A B C D 0 ID_1 ID_2 2015-12-23 12:15:20.799 23 1 . . . 查看其中的数据格式print(df.dtypes),C列本是时间,但显示为object类型 A object B object C object D int64 dtype: object 所以要转换为datetime类型,df[‘C’] = pd.to_datetime(df[‘C’]) prinr(df.dtypes) A object B object C datetime64[ns] D int64 dtype: object 查看数据集中年月日的情况 print(df[‘C’].dt.year.unique(),df[‘C’].dt.month.unique(),df[‘C’].dt.day.unique()) 转化时间为只显示年-月:df[‘C’] = df[‘C’].map(lambda x: x.strftime(’%Y-%m’)) #’%Y-%m-%d %H:%M:%S.%f’ 年-月-日 时:分:秒.毫秒 index C 941750 2016-03 941751

Java中List的集合

谁说胖子不能爱 提交于 2020-02-28 21:05:00
List集合代表一个元素有序、可重复的集合,集合中的每一个元素都有其对应的顺序索引,List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。 1.List作为Collection接口的子接口,当然可以使用Collection接口里面的所有的方法。而且由于List集合有序他还有一些新方法,void add(int index,Object element)将元素element插入到指定的位置;boolean addAll(int index,Collection c)将集合c所包含的所有元素都插入到List集合的index位置处;Object get(int index)返回集合index索引出的元素;int indexOf(Object o)返回对象o在List集合中一次出现的位置索引;int lastIndexOf(Object o)返回对象o在list集合中最后一次出现的位置索引;Object remove(int index)删除并返回index索引处的位置;Object set(int index,Object element)将index出的索引出的元素替换成element对象,返回旧元素;List subList(int formIndex,int toIndex)返回索引formIndex到索引toIndex(不包含)处所有集合元素;void

vue运行机制总结

不羁的心 提交于 2020-02-28 21:03:19
new Vue()运行之后,Vue调用_init函数进行初始化,初始化生命周期,事件,props,methods,data,computed,watch等 其中最重要的是通过Object.defineProperty设置setter和getter函数,用来 实现响应式(数据自动更新)和依赖收集 初始化后,调用 $mount挂载组件 -------------- 添加响应式数据 : this.$set(this.obj,'name','dongfang') //因为是在初始化时就劫持监听数据,所以初始化后添加的数据要响应式,必须通过$set方法添加数据监听 数组变异方法 : vue文档链接 当直接修改数组某一项值时,vue没法检测到,如 vm.items[1] = 'x' // 不是响应性的 vm.items.length = 2 // 不是响应性的 // Vue.set Vue.set(vm.items, indexOfItem, newValue) // Array.prototype.splice vm.items.splice(indexOfItem, 1, newValue) vue对如下数组方法进行了包装变异,调用这些方法操作后 一样能 触发视图更新 。 push() pop() shift() unshift() splice() sort() reverse() --

ES6常用知识点整理(一)

旧街凉风 提交于 2020-02-28 20:10:34
ES6:JS的第6个版本 一、let 和 const 声明 变量和常量 let 与var 区别: 1、var的作用域只体现在函数中,而let 的作用域只局限于当前代码块 { var str = 'aaa'; console.log(str); let str1 = 'bbb'; console.log(str1); } console.log('++++' + str); console.log('----' + str1);//str1 is not defined 2、使用let 声明的变量作用域不会被提升,(var 会变量提升) { console.log(str); //undefined var str = 'aaa'; } { console.log(str1); //str1 is not defined let str1 = 'bbb'; } 3、相同的作用域下不能声明相同的变量,(var 可以覆盖值) { var str = 'aaa'; var str = 'bbb'; console.log(str); //bbb } { let str1 = 'ccc'; let str1 = 'ddd'; console.log(str1); //Identifier 'str1' has already been declared } 4、for 循环体现 let

How to reference a workbook from another excel instance

回眸只為那壹抹淺笑 提交于 2020-02-28 19:02:26
问题 I believe my problem is rather simple: I have a workbook and I'm using it to get some data from another software (SAP). When I export the data from the software, it automatically opens a .xlsx file, then what I'd need to do is copy some of the data from this file, paste on my original workbook, and then close the file. The section of my code which is giving me an error is this one: fileName = "temp1.xlsx" Set wbBasis = Workbooks(fileName) This happens because the "temp1.xlsx" file that was

java程序员--小心你代码中的内存泄漏

时间秒杀一切 提交于 2020-02-28 15:48:42
当你从c&c++转到一门具有垃圾回收功能的语言时,程序员的工作就会变得更加容易,因为你用完对象,他们会被自动回收,但是,java程序员真的不需要考虑内存泄露吗? 其实不然 1.举个例子-看你能否找出内存泄漏 import java.util.Arrays; public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Object e) { ensureCapacity(); elements[size++] = e; } public Object pop() { if (size == 0) throw new EmptyStackException(); return elements[--size]; } private void ensureCapacity() { if (elements.length == size) elements = Arrays.copyOf(elements, 2 * size + 1)

Vue3中的Proxy作用在哪里?

亡梦爱人 提交于 2020-02-28 14:39:24
目录 前言 Vue没有Proxy会怎么样? proxy开始 前言 在讲解Proxy之前,我们有些前置知识点是必要掌握的: Object相关静态函数 Reflect相关静态函数 简单说明知识盲点 名称 介绍 Object.isExtensible() 方法判断一个对象是否是可扩展的(是否可以在它上面添加新的属性) Object.setPrototypeOf() 方法设置一个指定的对象的原型 ( 即, 内部[[Prototype]]属性)到另一个对象或null Object.preventExtensions() 方法让一个对象变的不可扩展,也就是永远不能再添加新的属性。 Object.getOwnPropertyDescriptor() 方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性) Object.getPrototypeOf() 方法返回指定对象的原型(内部 [[Prototype]] 属性的值)。 Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法。这些方法与 proxy handlers 的方法相同。 Reflect 不是一个函数对象,因此它是不可构造的。可用来替换部分Object静态函数, 比较好的一点是__避免直接报错__ 其和Object.xxx类似

ArrayList底层原理详解

心已入冬 提交于 2020-02-28 13:37:33
前言: 这里我用的JDK8 在讲ArrayList之前,先讲简单讲下List List集合代表一个有序集合,集合中每个元素都有其对应的顺序索引,它继承Collection接口,可以定义一个允许重复的有序集合 List接口的特点: 1、有下标 2、有顺序 3、能重复 实现List接口的集合有: ArrayList、LinkedList、Vector、Stack 在这篇文章,只详细讲ArrayList底层 ArrayList 实现了List接口,也是最常用的一种集合 特点:底层数据结构是数组,查询快,增删除慢,线程不安全,效率高 优点:操作读取操作效率高,底层是基于 数组 实现的,可以为null值,可以 允许重复元素,有序,异步 。 缺点:由于它是底层是动态数组实现的,不适合频繁的对元素的进行插入和删除操作,因为每次插入和删除都需 要移动数组中的元素,操作慢且复杂。 底层原理 我们以下的代码进行讲解,且从debug模式进入底层 import java . util . ArrayList ; public class ArrayListDemo { public static void main ( String [ ] args ) { ArrayList < Integer > arryayList = new ArrayList < Integer > ( ) ;