2020/02/11 02-对象操作

2020/02/11 02-对象操作
2020/02/11 02-对象操作
该迭代迭代,不该迭代的数据,放在里面就浪费了

一开始filter,只是把奇偶进行过滤了
2020/02/11 02-对象操作
核心部分都是在做计算平方值,可以先把无用数据剔除掉,算的时候,就算有用数据的计算,奇数的平方奇数,偶数的平方偶数
2020/02/11 02-对象操作
可以先做奇偶过滤
2020/02/11 02-对象操作
filter的返回值,必须等效true和false,只要算的不是0,就是true

2020/02/11 02-对象操作
出来的值不是你想要的,相当于写成这样,filter的返回值只有等效true和false
2020/02/11 02-对象操作
这里只是计算,但是也是无用功,没有把元素输出,只是返回true和false2020/02/11 02-对象操作
要拿到最后的平方值,就还需要再后面加map,虽然最终得到结果但是也不太好
2020/02/11 02-对象操作
可以用forEach试试,加个括号,赋值先做
2020/02/11 02-对象操作2020/02/11 02-对象操作
把所有的值都偏移一个1,代表++,这样写可以,如果使用赋值表达式可能忘记括号,赋值表达式是有值的
2020/02/11 02-对象操作
forEach可能比较啰嗦
2020/02/11 02-对象操作
使用filter+map搞定
平方值大于,Math.sqrt() 函数返回一个数的平方根,
2020/02/11 02-对象操作
这是个常量放外面就可以,不用每次循环重新计算
2020/02/11 02-对象操作
推荐这种看起来漂亮点 2020/02/11 02-对象操作
操作数组,还是使用for循环,效率是可以保证的,看似用很多filter,map,高大上,可能还多用了内存空间,或者多迭代了

**python3知道有这样的效率问题,所以有生成器,不用一个很大空间,立即把元素拿来
**

应该先过滤再计算,把不必要的计算放前面剔除
2020/02/11 02-对象操作
只要遇到数组,就先想到要遍历,要么过滤减少元素,要么map不减少元素,要么forEach
2020/02/11 02-对象操作

对象操作

这样是用类的方法来操作某一个具体实例,拿到了就直接是个列表,立即求值
2020/02/11 02-对象操作
在python里是item,在java里叫entry,java的键值对称为entry
2020/02/11 02-对象操作
后两种不推荐使用,实验性的
2020/02/11 02-对象操作
java的每个键值对称为entries,keys是标准方法可以使用
2020/02/11 02-对象操作
assign,对某个对象赋值
2020/02/11 02-对象操作
2020/02/11 02-对象操作
看看能不能返回什么
2020/02/11 02-对象操作

返回值就是{},在{}基础上,柔和了obj,生成了一个新的对象obj给你
2020/02/11 02-对象操作
第一个作为target,第二个作为source
2020/02/11 02-对象操作
a覆盖了
2020/02/11 02-对象操作
后面再写一个obj
2020/02/11 02-对象操作

测一下是否是同一个对象
2020/02/11 02-对象操作
本意是吧后面的都塞到target里,最后输出的还是它自己
2020/02/11 02-对象操作
也就是在第一个target里扩充属性,后面的是同名属性在target覆盖
2020/02/11 02-对象操作2020/02/11 02-对象操作
2020/02/11 02-对象操作
2020/02/11 02-对象操作
schoolname相当于加进去,url相当于替换掉
2020/02/11 02-对象操作
translation=null相当于都替换了
2020/02/11 02-对象操作

assign相当于用一大堆对象创建一个target,组合起来形成一个新的对象
2020/02/11 02-对象操作