在面试的过程中,你有被问一些奇怪面试题的经历吗?这些面试题与常规问题不同:这些面试问题看起来很简单,但却考验你对 JavaScript 的透彻理解,今天我将它们整理出来,看看你是否都能回答出来。...== x”可以返回true吗? 要输出“hello fatfish”,“x”的值应该是多少? const x = ? // Please fill in the value of "x?...== x) // true console.log(Number.isNaN(x)) // true 2. (!isNaN(x) && x !== x) 可以返回 true 吗?...“x > x”可以为true吗? 我不想再看书了,这是什么垃圾问题? const x = ? // Please fill in the value of "x?...All 一个 HTMLAllCollection,包含文档中的每个元素(来自 MDN)。
在写Python的时候,可能有些同学会这样写: def test(a): if a == 1: return True return False 实际上,这种代码可以缩减为
标签:VBA,自定义函数 如下图1所示,在单元格A1中包含多行文本,现在要求删除这些文本中开头单词相同的行,仅保留第1行,结果如图1单元格B1中所示。...图1 可以使用VBA编写一个自定义函数来实现。...dict = Nothing Set dOut = Nothing End Function 在单元格B1中输入公式: =fnUnique(A1) 然后,选取单元格B1,单击功能区“开始”选项卡中的“...注:本文示例收集自vbaexpress.com,供有兴趣的朋友研究。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
2022-04-21:给定一个包含 [0,n) 中不重复整数的黑名单 blacklist, 写一个函数从 [0, n) 中返回一个不在 blacklist 中的随机整数, 对它进行优化使其尽量少调用系统方法...黑名单中的随机数。 答案2022-04-21: 工程题目,黑名单存map。范围是[0,n),黑马单有m个;那么随机数的范围变成[0,n-m)。然后随机范围内的数字,碰到黑名单的数根据map映射。
2021-11-06:3的幂。给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。...整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3**x。力扣326。 答案2021-11-06: 如果一个数字是3的某次幂,那么这个数一定只含有3这个质数因子。...4052555153018976267是int型范围内,最大的3的幂,它是3的38次方。...{ ret := isPowerOfThree(81) fmt.Println(ret) } func isPowerOfThree(n int) bool { //3的38
IP地址是出于拓扑设计出来的,它为互联网上每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。对于路由器、电脑等网络设备,只要IP地址不重复情况下,IP地址是可以随意的修改。...在局域网中如果采用集线器来连接不同的网络设备,相同的MAC地址一般不会出现太多的问题,因为在集线器连接的局域网中所有的数据帧都会被广播给局域网内的全部主机,而如果通过交换机连接不同的网络设备就会受到影响...所以Mac地址其实是可以重复使用的,只是不能在同一个局域网中使用相同的MAC地址,而跨局域网的网络传输则需要通过网络层的IP协议,所以在不同的局域网使用相同的Mac地址就不存在类似的问题。...Mac地址会有重复 按照IEEE的协定每个网络设备出厂都会有全球唯一的Mac地址,并且使用过的也不会再重复使用。...但不意味着Mac地址就不会出现重复了,很多小伙伴们都改过Mac地址,有的直接可以通过系统进行修改。 有的网络设备允许你在管理后台手动的修改mac地址。
不会跳过空项。 4.2 使用 `array.map` 怎么样? 是不是可以使用 array.map() 方法来实现?...,Array.from() 提供了类似数组的 {length:end} ,以及一个简单地返回当前索引的 map 函数 。...6.数组去重 由于 Array.from() 的入参是可迭代对象,因而我们可以利用其与 Set 结合来实现快速从数组中删除重复项。...,Set 集合会删除重复项。...7.结论 Array.from() 方法接受类数组对象以及可迭代对象,它可以接受一个 map 函数,并且,这个 map 函数不会跳过值为 undefined 的数值项。
还有其他方法将两个集合连接起来,并且仅保留重复项,或者永远不保留重复项。 5.5 拷贝集合 copy() copy() 方法用于拷贝一个集合。 语法 set.copy() 参数值 无参数。...isdisjoint() isdisjoint() 方法用于判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。...: True 注意:isdisjoint() 方法在判断两个集合是否包含相同元素时,如果不包含相同的元素则返回True,而包含相同的元素则返回False 5.7 返回交集 intersection...2、issuperset()方法 issuperset() 方法用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。...() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False intersection() 返回集合的交集 intersection_update() 返回集合的交集 issubset
100个最常问的JavaScript面试问答-第3部分 问题21.如何在JavaScript中清空数组? 问题22.如何从数组中删除重复项? 问题23.如何检查值是否为数组?...1, 22, 24, 46]; array1.splice(0, array1.length) 问题22.如何从数组中删除重复项?...答: 有多种方法可以从数组中删除重复项,但让我告诉您一种最流行的方法。 使用过滤器-通过对JavaScript数组应用过滤器,可以从其中删除重复项。要调用该filter()方法,需要三个参数。...答: 我们可以使用Array全局对象中可用的Array.isArray()方法来检查值是否为Array。 当传递给它的参数是数组时,它返回true,否则返回false。...描述,该filter()方法将创建一个新数组,其中包含所有通过通过所提供函数实现的测试的元素。
元组项是有索引的,第一个项索引为 0,第二个项索引为 1,依此类推。有序,当我们说元组是有序时,意味着项具有明确定义的顺序,该顺序不会改变。...允许重复,由于元组是有索引的,它们可以包含具有相同值的项:示例,元组允许重复值:thistuple = ("apple", "banana", "cherry", "apple", "cherry")print...))要创建一个只包含一个项目的元组,必须在该项目后添加逗号,否则 Python 将不会将其识别为元组。..., False, False)一个元组可以包含不同的数据类型:示例,包含字符串、整数和布尔值的元组:tuple1 = ("abc", 34, True, 40, "male")type()从 Python...在指定范围时,返回值将是一个包含指定项的新元组。
通过join()方法可以实现重复字符串,只需传入字符串以及重复的次数,就能返回重复后的字符串,函数如下: 2.push()和pop() push(): 可以接收任意数量的参数,把它们逐个添加到数组末尾...splice()方法始终都会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组。...true,则返回true (3) every() 对数组中的每一项运行都给定函数,如果该函数对每一项都返回true,则返回true (4)filter() :对数组的每一项运行给定函数,返回该函数会返回...true的项组成的数组。...对新数组变化不会影响原数组的改变 (5)map() :对数组的每一项运行给定函数,返回每次函数调用结果所组成的数组 之后修改生成的数组不会影响原数组 五.
由于元组是不可变的,找到索引通常是为了了解结构,而不是为了修改元组内容(因为无法修改)。 index() 方法只返回第一个匹配项的索引,即使该值在元组中出现了多次。...加逗号:single_tuple = (42,),这样就明确地定义了一个只包含一个元素42的元组。 这是因为括号()在Python中还用于表示运算优先级,以及在函数调用时包围参数列表。...如果添加的元素已经在集合中存在,则该方法不会有任何效果,因为集合的特性决定了它不能包含重复的元素。 set.add(element) set:你要向其添加元素的集合。...是True, 不是False # a.issubset(b) : 集合a是否为集合b的子集 判断集合b 是否包含 集合a set13 = {1, 2, 'a'} set14 = {1, 3, '..., 5} set1.intersection_update(set2, set3, set4) print(set1) # 输出结果为 {5} symmetric_difference: 返回两个集合中不重复的元素集合
tuple = ({}, {}) # 创建包含字典元素的元祖 tuple = ([1, 2, 3], [4, 5, 6]) # 创建包含列表的元祖 tuple = (True, False) #...创建包含布尔值的元祖 tuple = (1, "2", {"a": 1}, (2), True) # 创建包含不同类型元素的元祖 使用tuple() 函数创建 tuple() 是一个内置函数,用于将可迭代对象转换为元祖...tuple() 函数将可迭代对象的每个元素收集起来,并返回一个新的元祖。...> 2、元祖的运算(与列表相似) 符号 说明 + 元祖连接 * 重复元素 in/not in 成员判断 = !...tup按照从小到大的顺序排序 4) 求新元祖tup的长度和平均值 5) 求新元祖tup的最大值和最小值 6) 求新元祖tup的第一项和最后一项 7)统计0在新元祖tup中出现的次数 2.有元祖tup =
Set是无重复值的有序列表。Set会自动移除重复的值,因此你可以使用它来过滤数组中重复的值并返回结果。 Map是有序的键值对,其中的键允许是任何类型。 Set和Map是es6新增的两个数据集合。...Set集合 es6新增了set类型,这是一种无重复值的有序列表。Set允许对它包含的数据进行快速访问。...检查size属性还能查看其中包含多少项。...还可以向Set添加多个对象,他们不会被合并为同一项。...()方法 forEach()方法还会被传递一个回调函数,该回调函数接收三个参数: Set中下个位置的值 与第一个参数相同的值 目标Set本身 由于Set没有键,为了使forEach方法与数组和map的forEach
Set接口是一种不包括重复元素的Collection,它维持它自己的内部排序,所以随机访问没有任何意义。 基本属性 ? 构造函数 ?...,所以如果将一个已经存在的e元素添加中HashSet中,新添加的元素是不会保存到HashMap中,所以这就满足了HashSet中元素不会重复的特性。...NavigableSet是扩展的 SortedSet,具有了为给定搜索目标报告最接近匹配项的导航方法,这就意味着它支持一系列的导航方法。比如查找与指定目标最匹配项。...7、contains:如果此 set 包含指定的元素,则返回 true。 ? 8、descendingIterator:返回在此 set 元素上按降序进行迭代的迭代器。 ?...13、higher:返回此 set 中严格大于给定元素的最小元素;如果不存在这样的元素,则返回 null。 ? 14、isEmpty:如果此 set 不包含任何元素,则返回 true。 ?
in 运算符总是返回 True 或 False ;它不会告诉你该值出现在什么位置。 3. 如果想知道某个值在列表中的精确位置,可调用 index() 方 法。...内建 的 tuple() 函数接受一个列表参数,并返回 一个包含同样元素的元组,而 list() 函数 接受一个元组参数并返回一个列表。...还可以使用多变量赋值创建返回多值的函数,只需返回一个包 含所有值的元组。调用者可将返回值视为一个简单的元组,或 将其赋值给不同的变量。...其行为方式就像是对参数集合中的每个成员 调用 add() 方法。 2. 由于集合不能包含重复的值,因此重复的值将会被忽略。 3....该操作会将 user 键的值改回 "mark" 吗?不会!仔细看看该 键——有个大写的 U 出现在 "User" 中。
,只需传入字符串以及重复的次数,就能返回重复后的字符串,函数如下: function repeatString(str, n) { //一个长度为n+1的空数组用string去拼接成字符串,就成了n个string...该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。...,只有所有项都满足条件,才会返回 true。...,只要有一项满足条件,就会返回 true。...该回调函数应当在给定的元素满足你定义的条件时返回 true,而 find()和 findIndex()方法均会在回调函数第一次返回 true 时停止查找。
数组转字符串 join join(separator) 以separator为分隔符,省略的话则用默认用逗号为分隔符 可以实现重复字符串,实质是在n+1个空字符串之间加入要重复的字符串 function...返回值为一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组。...如果只有一个元素且没有指定初始值,或者空数组指定了一个初始值,reduce()只是简单地返回那个值而不会调用化简函数 函数返回的任何值都会作为第一个参数自动传给下一项。...函数参数:元素,索引,数组本身。 没有返回值 map() 返回每次函数调用的结果组成的数组。 filter() 返回满足过滤条件组成的数组。 every() 判断数组中每一项都是否满足条件。...只有所有项都满足条件,才会返回true。 若有一个参数为false,则返回,忽略执行后面的参数。 some() 判断数组中是否存在满足条件的项。 只要有一项满足条件,就会返回true。
它返回一个迭代器,只要测试函数返回true, 该迭代器就返回输入迭代器中的项目。...# OutPut 输入: -1 产生: -1 输入: 0 产生: 0 输入: 1 Python内置函数 filter() 是返回一个包含测试函数返回true的所有项的迭代器。...:处理可迭代的输入,将第n和n+1项传递给目标函数,生成返回值,而不是直接返回输入。...只要输入的成员是唯一的,输出就不会包含任何重复的值。...# OutPut ('a', 'b') ('a', 'c') ('b', 'c') 因为 combination() 不重复单个输入元素,但考虑有时需要包含重复元素的组合。
领取专属 10元无门槛券
手把手带您无忧上云