首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

8个问题看你是否真的懂 JS

与var不同是,这些变量没有被提升,并且有一个所谓暂时死区(TDZ)。试图访问TDZ这些变量将引发ReferenceError,因为只有在执行到达声明时才能访问它们。...// 因此,每个箭头函数返回一个不同值。...在Mozilla文档,如果一个对象实现了@@iterator方法,那么它就是可迭代,这意味着这个对象(或者它原型链上一个对象)必须有一个带有@@iterator键属性,这个键可以通过常量Symbol.iterator...next 方法对象, // 它返回至少有一个对象 // 两个属性:value&done。...因此,在foo.getx()例子,它指向foo对象,返回90值。而在xGetter()情况下,this指向 window对象, 返回 window x值,即10。

1.3K30

2021-05-14:给定一个数组arr,想知道arr哪两个数异或结果最大。返回最大异或结果

2021-05-14:给定一个数组arr,想知道arr哪两个数异或结果最大。返回最大异或结果。 福大大 答案2021-05-14: 前缀树。一个数,用二进制表示,0走左边分支,1走右边分支。...准备一个max变量,遍历时候,遇到比max还要大,max更新。最后返回max。 时间复杂度:O(N)。 代码用golang编写。...= NewNode() } cur = cur.nexts[path] } } // 该结构之前收集了一票数字,并且建好了前缀树 // num和 谁 ^ 最大结果...(把结果返回) func (this *NumTrie) maxXor(num int) int { cur := this.head ans := 0 for move :=...63; move >= 0; move-- { // 取出num第move位状态,path只有两种值0就1,整数 path := (num >> move) & 1

85240
您找到你想要的搜索结果了吗?
是的
没有找到

8个问题看你是否真的懂 JS

// 因此,每个箭头函数返回一个不同值。...问题5 : 不会响应 解析: 大多数时候,开发人员假设在事件循环图中只有一个任务队列。但事实并非如此,我们可以有多个任务队列。由浏览器选择其中一个队列并在该队列处理回调。...在Mozilla文档,如果一个对象实现了 @@iterator方法,那么它就是可迭代,这意味着这个对象(或者它原型链上一个对象)必须有一个带有 @@iterator键属性,这个键可以通过常量 Symbol.iterator...next 方法对象, // 它返回至少有一个对象 // 两个属性:value&done。...因此,在 foo.getx()例子,它指向 foo对象,返回 90值。而在 xGetter()情况下, this指向 window对象, 返回 window x值,即 10。

1.4K10

一个list 里面存放实体类,根据多个字段进行分组,最后结果都保存,返回一个map 集合,一层一层map 集合

目录 1 需求 2 实现 1 需求 现在从数据库查询出一个list 集合数据,是一个实体类,现在需要根据多个字段进行分组,最后只是返回一个map 集合。...一层一层 2 实现 如果你想在最后一层列表数据上进行计算,并将计算结果保存并返回一个Map集合,可以按照以下方式修改代码: import java.util.List; import java.util.Map...calculateValue方法接收一个最后一层列表数据,并根据实际需求进行计算,并返回计算结果。这样,最终分组结果将包含计算结果Map集合。...如果在最后一层,需要传另外参数 如果calculateValue方法需要接收一个最后一层列表数据和一个额外字符串变量,你可以将该变量添加到方法参数列表,并在Collectors.collectingAndThen...,calculateValue方法参数列表添加了一个String类型额外参数extraParameter。

26010

拆解学习7-时间限制,收益图表

+ 所有已完成交易总货币价值 + 所有未平仓位的当前未实现损益 array.new_float 此函数创建一个浮点型元素阵列对象。...array.pop 该函数从阵列删除最后一个元素并返回其值。 返回值 被删除元素值。 array.push 该函数将一个值附加到阵列。...table.cell 此函数在表格定义一个单元格并设置其属性。 array.get 该函数返回指定索引处元素值。 返回值 阵列元素值。...color.new 功能颜色将指定透明度应用于给定颜色。 str.tostring 返回值 `value`参数字符串表示形式。 如果`value`参数是字符串,则按原样返回。...当`value`为na时,函数返回字符串“NaN”。 array.size 该函数返回阵列中元素数量。

45810

2021-05-19:给定一个非负数组成数组,长度一定大于1,想知道数组哪两个数&结果最大。返回这个最大结果。时间复杂度O

2021-05-19:给定一个非负数组成数组,长度一定大于1,想知道数组哪两个数&结果最大。返回这个最大结果。时间复杂度O(N),额外空间复杂度O(1)。...&结果在第30位上都不可能有1了 答案在第30位上状态一定是0, 保留剩余N个数,继续考察第29位,谁也不淘汰(因为谁也不行,干脆接受30位上没有1事实) 如果有2个, 说明答案就是这两个数(直接返回答案...现在来到i位,假设剩余数字有M个,看看这一位是1数,有几个 如果有0个、或者1个 说明不管怎么在M个数中选择,任何两个数&结果在第i位上都不可能有1了 答案在第i位上状态一定是0, 保留剩余M...个数,继续考察第i-1位 如果有2个, 说明答案就是这两个数(直接返回答案),因为别的数在第i位都没有1,就这两个数有。...tmp } else { // > 2个数 bit位上有1 ans |= 1 << bit } } return ans } 执行结果如下

1.1K20

js四种for循环

因此本文主要对js四种for循环进行总结区分。 文章最后通过一个面试题加深对不同for循环认识和使用。...// value1 // value2  上面代码,将对象属性都存入一个数组,相对于 for-in 查找每一个属性,该代码只关注给定属性,节省了循环开销和时间。...true 后返回 filter: 返回一个数组,该数组内元素满足回调函数 map: 将原数组元素处理后再返回 reduce: 对数组元素依次处理,将上次处理结果作为下次处理输入,最后得到最终结果...最后要说是,ES6 引进一个方式也能实现遍历数组值,那就是 Iterator。...最后一个最近刷到涉及forEach和for-of去别的大厂面试题: 第 XX 题:输出以下代码运行结果,为什么?如果希望每隔 1s 输出一个结果,应该如何改造?

1.8K00

定义一个方法,功能是找出一个数组一个只重复出现2次元素,没有则返回null。例如:数组元素为 ,重复两次元素为4和2,但是元素4排在2前面,则结果返回

寻找数组一个重复出现两次元素方法实现 在编程领域,经常会遇到需要从一个数组找出特定模式元素情况。...在本篇博客,我们将探讨如何实现一个方法,该方法能够在给定整数数组,找出第一个重复出现两次元素。如果数组不存在这样元素,则方法将返回null。...定义一个方法,功能是找出一个数组一个只重复出现2次元素,没有则返回null。...例如:数组元素为 [1,3,4,2,6,3,4,2,3],重复两次元素为4和2,但是元素4排在2前面,则结果返回4。...最终,我们输出value值,即数组一个重复出现两次元素。 总结 通过这段代码,我们成功地找到了数组一个重复出现两次元素,并将其值输出。

17910

Kotlin----数据类型详解

截取——substring() 替换——replace() 分割——split() 注意: Java split()返回一个String[], 而 kotlin返回一个 List (2)、...方法添加元素,但不知道添加到了哪个位置 MutableSet没有修改元素值方法,元素被添加之后不可被修改 MutableSet remove 方法接收元素作为参数,不能接收索引——因为Set无序没有索引...() while(iterator.hasNext()){ val user=iterator.next() ... } 迭代器存储并非真实元素,而是元素地址,类似于C指针。...removeAt可以删除指定索引位置元素 B: 遍历方式 除了 for-in 、迭代器、forEach, 还有一种根据索引遍历方式: // indices 表示userList索引数组。...、 迭代器、 forEach 由于元素是一个键值对,所以,在遍历获取到元素之后可以视需要根据元素取出对应key 和 value for(item in userMap){ val str="用户$

80220

通过事例重温一下常见 JS 15 种数组操作(备忘清单)

数组映射 2.1 Array.map()方法 array.map(callback) 方法通过在每个数组项上使用callback调用结果来创建一个新数组。...(99); // => false 7.2 array.find() 方法 array.find(predicate) 方法返回数组满足提供测试函数一个元素值。...数组插入 10.1 array.push() 方法 array.push(item1 [...,itemN]) 方法将一个或多个项追加到数组末尾,并返回长度。...删除数组元素 11.1 array.pop() 方法 array.pop()方法从数组删除最后一个元素,然后返回该元素。...如果比较compare(a, b)返回结果: 如果 a小于b,在排序后数组a应该出现在b之前,就返回一个小于0值。 如果a等于b,就返回0。 如果a大于b,就返回一个大于0值。

82020

ES6新特性以及一些规范

1.let:使变量成为块级变量,类似于C++,java类变量 b = 2 if (b == 2) { let c = 2; } console.log(c) // 报错,因为c是一个块级变量,...,感觉特别好用 3.2在插入数组时候,用push //bad array[length] = newitem //good array.push(newitem) 3.3...this.age) } } let goodStu = new goodStudent("CJG", 20, "SYSU); goodStu.sayAge() // 20 6.3方法可以通过返回...,它会自己提供默认构造函数,如果你不需要在构造函数做额外事情(例如给某个变量赋值等),就没必要主动声明构造函数 //bad,没有必要,这是系统默认 class goodStudent extends...,使用javascript一些内置函数,不要用for-in,防止你在遍历时候,可能不小心修改了某些值,或者导致一些副作用 const numbers = [1, 2, 3, 4, 5];

41310

用 Python 读写 Excel 表格

Python 下有很多类库可以做到, openpyxl 就是其中佼佼者。 openpyxl 设计非常漂亮 ,你一定会喜欢它!...只需导入 Workbook 类,便可在内存创建新工作簿并开始操作: >>> from openpyxl import Workbook >>> wb = Workbook() 新建工作簿默认预先建好一个工作表...,通过 active 属性即可获取: >>> ws = wb.active 注解 如果工作簿包含多个工作表,该属性将返回一个。...sheetnames 属性,可以取出所有工作表表名: >>> print(wb.sheetnames) ['Sheet2', 'New Title', 'Sheet1'] 当然了,遍历所有工作表,直接 for-in...单元格可以通过工作表键直接访问: >>> cell = ws['A4'] 这个语句将返回 A4 单元格,或者在单元格不存在时创建它。

84820

精通Excel数组公式018:FREQUENCY数组函数

注意,FREQUENCY函数返回结果比参数bins_array数量多1个。 通过上述示例,我们可以观察到: 1.第1个分类统计小于或等于第一个上限所有值。...2.中间分类统计下限和上限之间值,不包括下限,但包括上限。 3.最后一个分类统计大于最后一个上限所有值。...3.参数data_array包含要统计值——数字。 4.下面是关于分类一些要点: (1)分类是自动创建。没有如何组织分类可视化指示。 (2)第一个分类统计小于等于第一个上限所有值。...(3)中间分类统计介于下限和上限之间值,不包括下限,但包括上限。 (4)最后一个分类统计大于等于最后一个上限所有值。 (5)总是比bins_array多一个分类。...(用于创建统计唯一值公式) 9.在使用Ctrl+Shift+EnterFREQUENCY函数被输入到目标单元格区域后,结果数组值将作为一个整体,不能删除其中任意单元格

1.6K20

Excel公式技巧88:使用FREQUENCY函数统计不同值、唯一值和连续值(上)

例如,在计算输入到三个单元格三个值范围(间隔)时,一定要在四个单元格输入FREQUENCY函数以获得结果,额外单元格返回data_array中大于第三个间隔值数量。...FREQUENCY函数忽略空单元格和文本。 返回数组公式必须以数组公式输入。 统计不同值 数值 如下图1所示,在单元格区域B4:B12有一列数值,我们想要知道有多少个不同值。 ?...在bins_array中有9个值作为间隔,FREQUENCY函数返回数组中有10个值。其中最后一个值是大于最大指定间隔数量。...必须这样做,因为SUM函数不能对数组或引用逻辑值求和,但它可以对数字求和。 =SUM({1;1;1;0;1;0;0;0;0;0}) 最终返回结果4。...数值 如下图3所示,想要获得单元格区域B4:B12唯一值数量。 ? 图3 很显然,列表唯一出现1次数值是3和7,即有2个数值。

1.9K20

Python编程思想(12):for-in循环

所谓可迭代对象,就是指该对象包含一个iter方法,且该方法返回值对象具有next()方法; 下面的程序用for-in循环计算阶乘。...运行这段程序,如果输入10,会看到有如下运行结果: 请输入一个用于计算阶乘整数n:10 10阶乘是3628800 其中for-in变量可以称为循环计数器。 2....用for-in循环变量元组和列表 for-in循环主要作用之一就是遍历元组和列表。元组和列表元素有多少,for-in循环就会循环几次。对于每一次循环,循环计数器会被依次赋予当前元素值。...尽管可以迭代元组和列表,但并没有元组和列表索引,也就是说,在for-in循环中并不知道当前遍历到元组或列表一个元素。...用for-in循环遍历字典 字典与元组和字典不同,元组和字典每一个元素只有一个值,而字典每一个元素有两个值:key和value。

3.5K20

Java8编程思想(十二)-容器持有对象(下)

它有时被称为叠加栈(pushdown stack),因为最后“压入”(push)栈元素,第一个被“弹出”(pop)栈。经常用来类比栈事物是带有弹簧支架自助餐厅托盘。...最后装入托盘总是最先拿出来使用。 Java 1.0 附带了一个 Stack 类,结果设计得很糟糕(为了向后兼容,永远坚持 Java 旧设计错误)。...因此,如果创建了任何实现了 Iterable 类,都可以将它用于 for-in 语句中: iterator() 返回是实现了 Iterator 匿名内部类实例,该匿名内部类可以遍历数组每个单词...Iterator ,而是直接返回被打乱 List Iterator 。...之所以这样,是因为 randomized() 方法用一个 ArrayList 将 Arrays.asList() 结果包装了起来。

55320
领券