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

分享近百道JavaScript 基础面试题,帮助你巩固JavaScript 基础知识

闭包是一个函数,即使在外部函数完成执行后,仍保留从其外部范围访问变量功能。 10. 如何在 JavaScript 创建对象?...reduce() 方法对累加器和数组每个元素应用一个函数,产生单个值。 36. 如何在 JavaScript 深度复制一个对象?...JavaScript find() 方法用途是什么? find() 方法返回数组满足提供测试函数第一个元素。 38. 如何在 JavaScript 反转字符串?...JavaScript push() 方法用途是什么? push() 方法将一个或多个元素添加到数组末尾并返回数组新长度。 48. 在 JavaScript 如何检查变量是否属于特定类型?...concat() 方法用于合并两个或多个数组,创建一个包含连接元素数组。 69. 如何在 JavaScript 数组进行排序? 可以使用 sort() 方法按字母顺序或数字顺序对数组进行排序。

18010

Go语言——Json处理

通过默认情况下,没有相应结构字段对象键是已忽略(也就是说你有的字段,就解析给你(字段Age);你没有的字段,就忽略(字段Sex);没有的字段,你就为默认值(字段S))。...作为一种特殊情况,要将空JSON数组解组到切片中,解组将使用新空切片替换切片。...解组到数组Array 要将JSON数组 解组 为Go数组,解组解码JSON数组元素转换为相应Go数组元素。 如果Go数组小于JSON数组,其他JSON数组元素将被丢弃。...如果JSON数组小于Go数组,附加Go数组元素设置为零值。 解组到map 要将JSON对象解组到map,Unmarshal (解组) 首先建立到map使用。...如果没有遇到更严重错误,则Unmarshal (解组)返回描述最早此类错误Unmarshal (解组)类型错误。

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

golang教程

return } return a + b, nil // 支持多重返回值 } 如果参数列表若干个相邻参数类型相同,比如上面例子a和b,则可以在参数列表 中省略前面变量类型声明 如果返回值列表多个返回类型相同...解码JSON数据 func Unmarshal(data []byte, v interface{}) error 如果JSON字段在Go目标类型不存在,json.Unmarshal()函数在解码过程中会丢弃...解码未知结构JSON数据 如果要解码一段未知结构JSON,只需将这段JSON数据解码输出到一个空接口即可。...JSON布尔值将会转换为Gobool类型;  数值会被转换为Gofloat64类型; 字符串转换后还是string类型; JSON数组会转换为[]interface{}类型; JSON对象会转换为..."C" 调用者可以用以下 方式 得到错误码,在传递数组类型参数时需要 意,在Go语言中将第一个元 作为整个数组起 始地 传入: n, err := C.f(&array[0]) // 需要显示指定第一个元素地址

1.1K10

golang教程

return } return a + b, nil // 支持多重返回值 } 如果参数列表若干个相邻参数类型相同,比如上面例子a和b,则可以在参数列表 中省略前面变量类型声明 如果返回值列表多个返回类型相同...解码JSON数据 func Unmarshal(data []byte, v interface{}) error 如果JSON字段在Go目标类型不存在,json.Unmarshal()函数在解码过程中会丢弃...解码未知结构JSON数据 如果要解码一段未知结构JSON,只需将这段JSON数据解码输出到一个空接口即可。...JSON布尔值将会转换为Gobool类型;  数值会被转换为Gofloat64类型; 字符串转换后还是string类型; JSON数组会转换为[]interface{}类型; JSON对象会转换为..."C" 调用者可以用以下 方式 得到错误码,在传递数组类型参数时需要 意,在Go语言中将第一个元 作为整个数组起 始地 传入: n, err := C.f(&array[0]) // 需要显示指定第一个元素地址

1.6K20

Go 语言学习指南:变量、循环、函数、数据类型、Web 框架等全面解析

Range Range 与 For 循环一起用于在数组、字符串和其他数据结构迭代每个元素。...发出错误 Go 语言中最常用技术是将错误作为返回最后一个值。 Panic 通常意味着发生了意外错误。主要用于在不应该在正常操作期间发生错误或我们无法优雅处理错误时快速失败。...Functions 了解 Go 函数工作原理,下面的资源列表将涵盖: 如何在 Go 定义和调用函数? Go 命名返回值? 处理多个返回类型Go 不同类型函数。...Arrays 在 Go 数组是在创建数组时定义具有相同类型元素集合。 文章链接:Go 语言数组基础教程 - 数组声明、初始化和使用方法 Slices 切片类似于数组,但更强大和灵活。...像数组一样,切片也用于在单个变量存储相同类型多个值。但与数组不同,切片长度可以根据需要增长和缩小。

18310

学习go语言编程之网络编程

特殊字符比如<将会被转义为\u003c 数组和切片会转化为JSON里边数组,但[]byte类型值将会被转化为Base64编码后字符串,切片类型零值会被转化为null 结构体会转化为JSON对象,.../json包支持任意数据类型解码JSON数据 可以使用json.Unmarshal()函数将JSON格式文本解码Go里边预期数据结构,该函数原型如下: func Unmarshal(data...要解码一段JSON数据,首先需要在Go创建一个目标类型实例对象,用于存放解码值。...在解码JSON数据过程JSON数据里边元素类型将做如下转换: JSON布尔值将会转换为Gobool类型 数值会被转换为Gofloat64类型 字符串转换后还是string类型 JSON...数组会转换为[]interface{}类型 JSON对象会转换为map[string]interface{}类型 null值会转换为nil 在Golang标准库encoding/json,允许使用

20120

Go操作MongoDB

其中文档类似于我们平常编程中用到JSON对象。 文档字段值可以包含其他文档,数组及文档数组。...与其他将JSON数据存储为简单字符串和数字数据库不同,BSON编码扩展了JSON表示,使其包含额外类型int、long、date、浮点数和decimal128。...这种类型应该在顺序重要情况下使用,比如MongoDB命令。 M: 一张无序map。和D是一样,只是它不保持顺序。 A: 一个BSON数组。 E: D里面的一个元素。...你还可以使用Lookup()从原始类型检索单个元素。如果你不想要将BSON反序列化成另一种类型开销,那么这是非常有用。这个教程我们将只使用D类型。...要查找单个文档,使用collection.FindOne()。这个方法返回一个可以解码为值结果。 我们使用上面定义过那个filter来查找姓名为’小兰’文档。

2.3K60

Go代码规范指南-新人必看

Go语言for循环同样支持continue和break来控制循环,但是提供了一个更高级 break,可以选择中断哪一个循环 goto语句语义非常简单,就是跳转到本函数内某个标签,: func...可以使用json.Unmarshal()函数将JSON格式文本解码Go里边预期数据结构。...json.Unmarshal()函数原型如下: func Unmarshal(data []byte, v interface{}) error 在解码JSON 数据过程JSON数据里边元素类型将做如下转换...:  JSON布尔值将会转换为Gobool类型;  数值会被转换为Gofloat64类型;  字符串转换后还是string类型;  JSON数组会转换为[]interface{}类型...在Go标准库encoding/json,允许使用map[string]interface{}和[]interface{} 类型值来分别存放未知结构JSON对象或数组 安全编程: 常见单密钥加密算法有

1.8K40

使用Golang驱动操作MongoDB

= nil { log.Fatal(err) } fmt.Println(databases) 在GO中使用BSON对象 MongoDBJSON文档以称为BSON(二进制编码JSON二进制表示形式存储...Go Driver有两种系列用于表示BSON数据:D系列类型和Raw系列类型。 D系列包括四种类型: D:BSON文档。此类型应用在顺序很重要场景下,例如MongoDB命令。 M:无序map。...A:一个BSON数组。 E:D单个元素。...查询单个文档 查询单个文档使用collection.FindOne()函数,需要一个filter文档和一个可以将结果解码为其值指针 var result sunshareboy filter :=...查询多个文档 查询多个文档使用collection.Find()函数,这个函数会返回一个游标,可以通过他来迭代并解码文档,当迭代完成后,关闭游标 Find函数执行find命令并在集合匹配文档上返回Cursor

4.7K31

Codable 解析 JSON 忽略无效元素

例如,假设我们正在使用基于JSON Web API,该API返回当前正在 Swift 建模item集合,如下所示: struct Item: Codable { var name: String...因此,让我们来看一下如何在解码任何 Decodable 数组时忽略所有无效元素,而不必对 Swift 数据结构进行任何重大修改。...让我们从 Decodable 开始,我们将遵循中间 ElementWrapper 类型以可选方式对每个元素进行解码。...如果可以将LossyCodableList用法转换为完全透明实现细节,以使我们可以继续将我们items属性作为一个简单数组进行访问,那将是更好选择。...类型一个完全自定义Decodable实现,这将涉及在将结果元素分配给我们items属性之前,使用LossyCodableList解码每个JSON数组: extension Item { struct

3.1K40

GO语言入门教程

"hello world" var d float32 = 1.222 var x complex128 = cmplx.Sqrt(-5 + 12i) 数组, 切片(Slice), Map 数组是相同数据类型元素序列...我们可以简单地用以下格式创建它们: var multiD [2][3]int Go 数组长度不可改变,在特定场景这样集合就不太适用,Go中提供了一种灵活,功能强悍内置类型切片("动态数组"),与数组相比切片长度是不固定...因此,定义变量c将自动返回,而不需要在最后return语句中定义。 您还可以从一个用逗号分隔返回函数返回多个返回值。...Go语言内置包 fmt 该包实现格式化I/O函数。 json Go语言中另一个有用包是json包。这有助于对JSON进行编码/解码。...), &res) fmt.Println(res.PageNumber) } //=> 1 当使用unmarshal解码json字节时,第一个参数是字节类型json,第二个参数是我们希望

93610

Go每日一库之186:sonic(高性能JSON库)

其中你可以指定path获取JSON子路径元素。 每个路径参数必须是整数或者字符串 整数是目标索引(>=0),表示以数组形式搜索当前节点。 字符串为目标key,表示搜索当前节点为对象。...这对 CPU 性能方面很有帮助,但是可能因此在解码后对象仍在使用时候将整个 JSON 缓冲区保留在内存。...实践我们发现,通过引用 JSON 缓冲区引入额外内存通常是解码后对象 20% 至 80% ,一旦应用长期保留这些对象(缓存以备重用),服务器所使用内存可能会增加。...我们也提供了 MarshalString() API ,以便对编码 JSON 字节数组进行零拷贝类型转换,因为 sonic 输出字节始终是重复并且唯一,所以这样是安全。...零拷贝类型转换是一种技术,允许你在不进行实际数据复制情况下,将一种数据类型转换为另一种数据类型。这种转换通过操作原始内存块指针和切片来实现,避免了额外数据复制,从而提高性能并减少内存开销.

1.7K40

Golang 新手可能会踩 50 个坑【转】

Array 类型作为函数参数 在 C/C++ 数组(名)是指针。将数组作为参数传进函数时,相当于传递了数组内存地址引用,在函数内部会改变该数组值。 在 Go 数组是值。...@var_dump($v["z"]);' NULL Go 则会返回元素对应数据类型零值,比如 nil、'' 、false 和 0,取值操作总有值返回,故不能通过取出来值来判断 key 是不是在 map...将 JSON 数字解码为 interface 类型 在 encode/decode JSON 数据时,Go 默认会将数值当做 float64 处理,比如下边代码会造成 panic: func main...如果你程序使用这个特性,那需要注意 "旧"(stale) slice 问题。 某些情况下,向一个 slice 追加元素指向底层数组容量不足时,将会重新分配一个新数组来存储数据。...<-c } 在搜索重复时依旧每次都起一个 goroutine 去处理,每个 goroutine 都把搜索结果发送到结果 channel ,channel 收到第一条数据会直接返回

1.9K31

当下炙手可热 Go 语言你在用吗,掌握了这 50 个技巧后可让你少踩坑!

"" if s == "" { s = "default" } } Array 类型作为函数参数 在 C/C++ 数组(名)是指针。...将数组作为参数传进函数时,相当于传递了数组内存地址引用,在函数内部会改变该数组值。 在 Go 数组是值。...; @var_dump($v["z"]);' NULL Go 则会返回元素对应数据类型零值,比如 nil、'' 、false 和 0,取值操作总有值返回,故不能通过取出来值来判断 key 是不是在...将 JSON 数字解码为 interface 类型 在 encode/decode JSON 数据时,Go 默认会将数值当做 float64 处理,比如下边代码会造成 panic: func main...如果你程序使用这个特性,那需要注意 "旧"(stale) slice 问题。 某些情况下,向一个 slice 追加元素指向底层数组容量不足时,将会重新分配一个新数组来存储数据。

91630

Go语言入门经典》4~6章读书笔记

第4章 函数 4.1 函数是什么 4.1.2 返回单个值 func isEven(i int) bool{ return i % 2 == 0; } 4.1.3 返回多个值 在Go语言中,可在函数签名声明多个返回值...,可将调用自己代码作为终止语句中返回值。...4.5 将函数作为值传递 Go将函数视为一种类型,因此可将函数赋给变量,以后再通过变量来调用它们。...将一个长度为2数组赋给这个变量。 这个数组类型为字符串。 6.2 使用切片 切片是底层数组一个连续片段,通过您可以访问该数组中一系列带编号元素。 为何要使用切片?...在Go语言中,使用数组存在一定局限性。采用前面的数组cheeses表明方试,您无法在数组添加元素;然而切片比数组更灵活,您可在切片中添加和删除元素,还可复制切片中元素

64120

Javascript快速入门(上篇)

操作符 数组 var myArray = new Array(); var myArray = []; concat:合并多个数组 join:把多个数组元素合并为一个字符串 toString:以字符串形式返回数组...index/lastIndexOf:在数组搜索指定元素 slice:根据指定索引和长度返回一个新数组 sort:根据字母顺序或提供函数对数组进行排序 spice:在数组指定索引添加或删除一个元素push...(),.backward()相当于前进和后退,.next()获取下一个页面(向前或向后), .go(-3)回退页面,.go('aaa.com')获取历史第一个匹配URL location .href...,对象等,但比如Date,Function等不属于JSON标准,需要编解码之后才能使用 模拟关联数组 var myArr =[]; myArr[0]='Monday'; myArr[1]='Tuesday...在document根结点,包含多种不同类型结点,结点类型nodeType包含在节点元素属性,如下表所示。

1K50

Go 基础面试题

复合类型数组 [n]T 是包含 n 个 类型为 T 数组。 切片:[]T是具有动态大小序列,提供了一种灵活、强大接口来序列化相同类型元素。...函数:Go 语言中函数也是一种数据类型,可以赋值给变量,可以作为参数传递,也可以作为返回值。 3. Go 程序包是什么?...这种模式是优雅地停止 Goroutine 正确方式,因为允许 Goroutine 清理并安全退出。 6. 如何在运行时检查变量类型?...Go 语言中 cap 函数可以作用于哪些类型? 在 Go 语言中,cap函数可以用来查询一下几种类型容量: 数组:cap可以返回数组容量,即数组元素数量。...new(T)表达式创建了一个 T 类型新项,初始化为 T 类型零值,并返回其地址,也就是一个类型为*T值。这对于值类型结构体和数组内存分配特别有用。

20310

初探函数式编程---以MapReduceFilter为例

(累积计算) reduce()方法是对数组遍历,返回一个单个返回 有一个数字集合[1,4,7,2,8],计算其和 会把上一次迭代返回结果存起来,带到下一次迭代,使用reduce方法可以很容易计算数组累加...在闭包,我们对累加器 acc 和传入闭包函数 f 处理后元素 f(item) 执行加法操作,并将结果作为累加器返回。...首先,定义了一个名为 Filter 函数,接受一个整数切片 arr 和一个函数 fn 作为参数,返回一个新整数切片。...,闭包和迭代器 以上定义了一个 filter 函数,接受一个整数切片 arr 和一个闭包 predicate 作为参数,并返回一个符合条件整数切片。...---- array_filter() 重点在于过滤(而不是新增)某个元素,当你处理到一个元素时,返回过滤后数组 array_map() 重点在于遍历一个数组多个数组元素返回一个新数组 array_walk

20720

36 个JS 面试题为你助力金九银十(面试必读)

在这种技术,将一个值作为参数传递给一个函数,而该函数将返回另一个函数,将第二个值传递给该函数,然后重复继续。...2.基本数据类型是不可变,而非基本数据类型是可变。 3.基本数据类型是不可变,因为它们一旦创建就无法更改,但非基本数据类型刚可更改,意味着一旦创建了对象,就可以更改。...展开运算符在需要多个参数/变量/元素位置展开表达式,它用三个点(...)。...如何在JS编码和解码 URL encodeURI() 函数用于在JS对URL进行编码。它将url字符串作为参数并返回编码字符串。 注意: encodeURI()不会编码类似这样字符: / ?...它将编码url字符串作为参数并返回解码字符串,用法: var uri = "my profile.php?

7.2K30
领券