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

【JavaScript】内置对象 - 数组对象 ④ ( 索引方法 | 查找给定元素第一个索引 | 查找给定元素最后一个索引 | 索引方法案例 - 数组元素去重 )

文章目录 一、索引方法 1、查找给定元素第一个索引 - indexOf() 2、查找给定元素最后一个索引 - lastIndexOf() 二、索引方法案例 - 数组元素去重 1、需求分析 2、代码实现...一、索引方法 1、查找给定元素第一个索引 - indexOf() 调用 Array 数组对象 indexOf() 方法 可以 查找给定元素第一个索引 , 语法如下 : indexOf(searchElement...该索引值 ; 返回值 就是 在数组中 第一个 被找到 指定元素 索引位置 , 如果没有找到返回 -1 ; 参考文档 : https://developer.mozilla.org/zh-CN/docs...console.log(indexOf5); // 查找数组索引 1 元素后 , 第一个 5 索引值 // 查找时 包含 该索引值 // 这里...- lastIndexOf() 调用 Array 数组对象 lastIndexOf() 方法 可以 查找给定元素最后一个索引 , 语法如下 : lastIndexOf(searchElement

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

MongoDB 安装配置

作为数据存储和传输格式,BSON是一种类似JSON二进制序列化文档,支持嵌套对象数组。...面向集合存储,易存储对象类型数据,模式自由。 支持动态查询,支持完全索引,包含内部对象。 支持复制和故障恢复。 使用高效二进制数据存储,包括大型对象(如视频等)。...文件存储格式BSON(一种JSON扩展),可通过网络访问。 2) 功能 面向集合存储:适合存储对象及JSON形式数据。 动态查询:Mongo支持丰富查询表达式。...查询指令使用JSON形式标记,可轻易查询文档中内嵌对象数组。 完整索引支持:包括文档内嵌对象数组。Mongo查询优化器会分析查询表达式,并生成一个高效查询计划。...: 2, "name" : { "name1" : "yang", "name2" : "gang" } } > db.foo.getIndexes() // 查看索引(_id默认,不可删除和修改

1.2K40

格式化httpheader字符串数组(格式键值对或格式传header值用索引数组)

格式键值对的话,方便取值 或格式传header值用索引数组,可以用于调用接口传值使用 /**格式化httpheader字符串数组 * @param $header_str header头字符串...* @param int $is_need_key 是否分割成键值对数组,方便取出每一项值,仅仅分割换行不分割键值对的话这个数据格式刚好可以抓数据时候传header * @return array...返回数组 */ function http_header_to_arr($header_str,$is_need_key=0){ $header_list = explode("\n", $...(base64_decode($header_arr['Content-MD5'])); } return $header_arr; } 未经允许不得转载:肥猫博客 » 格式化httpheader...字符串数组(格式键值对或格式传header值用索引数组)

1.6K40

MongoDB ObjectId详解及使用ObjectId构成ObjectId获取时间根据时间构造ObjectIdQ&A

MongoDB中我们经常会接触到一个自动生成字段:”_id”,类型ObjectId。 本文详解ObjectId构成和使用。...我们肯定可以从中获取时间信息:即插入此文档时时间。MongoDB对ObjectId对象提供了getTimestamp()方法来获取ObjectId时间。...new Array(17)构造了一个17个元素数组,但是数组里面没有元素,join(atr)方法作用是连接数组元素并且以其参数分割。...17个元素正好有16个间隔,所以最终拼接起来字符串16个。 根据ObjectId按照插入时间排序 MongoDB默认在ObjectId上建立索引,是按照插入时间排序。...在有日期范围情况下,实际上可以从_id中利用IXSCAN找到相应记录,而不需要根据另外一个时间字段来查询。如果时间字段正好没有索引的话,_id优势就体现出来了。

3.7K40

pyMongo操作指南:增删改查合并统计与数据处理

") "_id" : ObjectId("596c605b1109af02305795b9") 指定数组位置元素 则需使用key.index语法指定下标,例如下面查询出tags键值数组中第2个元素..."school"文档: # 数组下标都是从0开始,所以查询结果返回数组中第2个元素"school"文档: db.inventory.find({"tags.1":"school"}) # 结果..._id" : ObjectId("596c605b1109af02305795b9") 3.6.7 “$and” - 选择出满足该数组中所有表达式文档 指定一个至少包含两个表达式数组,选择出满足该数组中所有表达式文档...({name:"t1",amount:{$lt: 50}}) # 结果: "_id" : ObjectId("596c605b1109af02305795b9") 3.6.8 “$nor” - 选择出都不满足该数组中所有表达式文档...自动创建),另一个就是我们刚刚对user_id创建索引

10.9K10

MongoDB基础之BSON数据类型

已过时 未定义类型 ObjectId 7 objectId 对象id类型 Boolean 8 bool 布尔类型 Date 9 date 日期类型 Null 10 null 用于表示空值或者不存在字段...3、Array(数组数组是一组值,既可以既可以偶组有序对象来操作,也可以作为无序对象操作。 数组可以包含不同数据类型元素,实际上,常规键值对支持值都可以作为数组元素,甚至是套嵌数组。...文档中数组有个特性,就是MongoDB能理解其结构,并指导如何深入数组内部对其内容进行操作。这样就能用内容对数组进行查询和构建索引了。 MongoDB可以使用原子更新修改数组内容。...时间戳、机器ID和进程ID组合起来,提供了秒级别的唯一性。时间戳在前,意味着ObjectId大致会按照插入顺序排序。可以将其作为索引提高效率,但不是绝对,只是大致。...“_id”键,这个键可以是任何类型,默认是ObjectId对象

8.9K30

mongodb操作(概述以及相关命令)

)、记录(rows)三个层次组成 非关系型数据库Mongodb:数据库(database)、集合(collection)、文档对象(document)三个层次组成 MongoDB里集合对应于关系型数据库里表...//数据库中有所有数组对应记录 > db.user.find({_id:{$in:[2,3,4,5,6]}}).limit(5); { “_id” : 2, “name” : “user2″, “...: 5, “age” : 20 } 可以看到,_id=2,name=user3和userid=4记录都被过滤了 $size操作将会查询数组长度等于输入参数数组,例子: > db.things.find...Objnew:用于设置更新内容对象 Upsert:如果记录已经存在,更新它,否则新增一个记录 一般设置0 Multi:如果有多个符合条件记录,全部更新 一般设置1 注意:默认情况下,只会更新第一个符合条件记录...索引索引信息存储在system.indexes中,mongodb中_id字段在创建时候,默认已经建立了索引,这个索引不能被删除。

59420

浅尝辄止MongoDB:操作(3)

使用DBRef可以将数据库引用存储标准嵌入对象(JSON/BSON)。使用一种标准方式代表引用,意味着驱动和数据框架可以添加辅助方法,以标准方法操作引用。...>代表集合名称;代表被引用对象_id字段;通过使用可选$db可以引用其它数据库中文档。...createdCollectionAutomatically" : false, "numIndexesBefore" : 3, "numIndexesAfter" : 4, "ok" : 1 } > 上面的语句数组所有元素构建索引...这意味着可以使用该索引搜索数组任何对象。这些键类型被称为多键。...background选项允许在后台建立索引,而不会阻塞其它写入操作。 确保使用是指定索引,可以使用explain()函数,返回所选择查询计划相关信息。

95220

MongoDB基础之BSON数据类型

已过时 未定义类型 ObjectId 7 objectId 对象id类型 Boolean 8 bool 布尔类型 Date 9 date 日期类型 Null 10 null 用于表示空值或者不存在字段...3、Array(数组数组是一组值,既可以既可以偶组有序对象来操作,也可以作为无序对象操作。 数组可以包含不同数据类型元素,实际上,常规键值对支持值都可以作为数组元素,甚至是套嵌数组。...文档中数组有个特性,就是MongoDB能理解其结构,并指导如何深入数组内部对其内容进行操作。这样就能用内容对数组进行查询和构建索引了。 MongoDB可以使用原子更新修改数组内容。...时间戳、机器ID和进程ID组合起来,提供了秒级别的唯一性。时间戳在前,意味着ObjectId大致会按照插入顺序排序。可以将其作为索引提高效率,但不是绝对,只是大致。...“_id”键,这个键可以是任何类型,默认是ObjectId对象

4.1K10

Linux下Mongodb部署应用梳理

它支持数据结构 非常松散,会将数据存储一个文档,数据结构由键值对(key=>value)组成,是类似于jsonbson格式,字段值可以包含其它文档、数组和文档数组,因此可以存储比较复杂数据类型。...4)支持完全索引,包含内部对象,可以在MongoDB记录中设置任何属性索引来实现更快排序。 5)支持复制和故障恢复。 6)使用高效二进制数据存储,包括大型对象(如视频等)。...10)文件存储格式BSON(一种JSON扩展),MongoDB支持丰富查询表达式,查询指令使用JSON形式标记,可轻易查询文档中内嵌对象数组。...2)动态查询:Mongo支持丰富查询表达式。查询指令使用JSON形式标记,可轻易查询文档中内嵌对象数组。 3)完整索引支持:包括文档内嵌对象数组。...6、将find游标当数组处理 var cursor = db.users.find(); cursor[4]; 取得下标索引为4那条数据 既然可以当做数组处理,那么就可以获得它长度:cursor.length

5K80

超实用!手把手入门 MongoDB:这些坑点请一定远离

autoIndexID Boolean (可选)如果true,自动创建索引_id字段, 默认值是false。..."_id" 如果想插入数据对象已存在数据集合中, insert函数会报错,提示E11000 duplicate key error collection save函数是覆盖原来对象 db.mycoltwo.insert...后面的 • update : update对象和一些更新操作符(如,inc...)等,也可以理解sql update查询内set后面的 • upsert : 可选,这个参数意思是,如果不存在update...) 语法中 Keys 值你要创建索引字段,1指定按升序创建索引,-1即为降序。...默认值是false unique Boolean (可选)true时,创建唯一索引 name string (可选)索引名称 partialFilterExpression document 可选

5.7K10

mongodb 相关查找,插入删除等操作

"), "a" : "1", "b" : [ 1, 2 ] } 3.11 $slice 返回数组一个子集,即对以某属性基础,返回多少条(范围)。...因文档需要从BSON转换成javascript对象,然后通过"$where"表达式来运行。       不用利用索引。...--查询结束条件 $hint:document    --指定服务器使用哪个索引进行查询 $explain:boolean  --获取查询执行细节(用到索引、结果数量、耗时等),而并非真正执行查询...----------------------------------------------- $pop从数组头或者尾删除数组元素,示例如下: { "_id" : ObjectId("5003be465af21ff428dafbe7...将所有uid20120002文档增加一个属性sname值jk: > db.a.find() { "_id" : ObjectId("500216de81b954b6161a7d8f"), "

1.4K40

【翻译】MongoDB指南引言

MongoDB文档类似于JSON对象,字段值可能是文档,数组,或文档数组。 ? 使用文档优点: 文档中字段值数据类型同大多数编程语言中原生数据类型一致。 嵌入式文档和数组减少了连接查询需求。...ObjectId类型 name嵌入式文档类型(embedded document),包括first和last字段 birth和death日期类型(Date) contribs字符串数组类型(array..._id字段有下列行为和约束: 默认地,在创建集合同时,MongoDB _id字段创建唯一索引。...MongoDB 客户端应该添加一个值ObjectId_id字段,使用值ObjectId_id字段有如下好处: 在mongo shell中,你可以使用ObjectId.getTimestamp()...给值ObjectId_id字段排序大体等价于按时间排序。 重要: 在一秒之内,ObjectId顺序与生成时间之间关系并不是严格

4.2K60

MongoDB【快速入门】

name: "我没有三颗心脏", age: 22, } 文档型数据存储方式有几个重要好处: 文档数据类型可以对应到语言数据类型,如数组类型(Array)和对象类型(Object); 文档可以嵌套...大部分情况下还是会让 MongoDB 我们生成,而且默认情况下,该字段是被加上了索引。...在最糟糕情况下,弥补连接缺失需要做只是再多查询一次而已,该查询很可能是经过索引。...4.1.1 数组和嵌入文档(Embedded Documents) MongoDB 没有连接并不意味着它没有其他优势。还记得我们曾说过 MongoDB 支持数组并把它当成文档中一级对象吗?...将数据模型直接映射到目标对象上可以使问题变得更加简单,也往往因此而不再需要连接操作。当您知道 MongoDB 允许对嵌入文档域进行查询并做索引后,这个说法就尤其显得正确了。

87110

MongoDB【快速入门】

name: "我没有三颗心脏", age: 22, } 文档型数据存储方式有几个重要好处: 文档数据类型可以对应到语言数据类型,如数组类型(Array)和对象类型(Object)...大部分情况下还是会让 MongoDB 我们生成,而且默认情况下,该字段是被加上了索引。...在最糟糕情况下,弥补连接缺失需要做只是再多查询一次而已,该查询很可能是经过索引。...4.1.1 数组和嵌入文档(Embedded Documents) MongoDB 没有连接并不意味着它没有其他优势。还记得我们曾说过 MongoDB 支持数组并把它当成文档中一级对象吗?...将数据模型直接映射到目标对象上可以使问题变得更加简单,也往往因此而不再需要连接操作。当您知道 MongoDB 允许对嵌入文档域进行查询并做索引后,这个说法就尤其显得正确了。

87240

MongoDB 指令

autoIndexId 布尔 (可选)如 true,自动在 _id 字段创建索引。默认为 false。 size 数值 (可选)固定集合指定一个最大值,以千字节计(KB)。...update:updat对象和一些更新操作符(如,inc…)等,也可以理解sql查询set指令定义。...upsert: 可选参数,作用:如果不存在update记录,是否插入对象,true插入,默认为false,不插入。...“background” 默认值false。 unique Boolean 建立索引是否唯一。指定为true创建唯一索引。默认值false. name string 索引名称。...$skip:在聚合管道中跳过指定数量文档,并返回余下文档。 $unwind:将文档中某一个数组类型字段拆分成多条,每条包含数组一个值。 $group:将集合中文档分组,可用于统计结果。

6.5K50

MongoDb简介

"") ] } 以上实例中,用户文档 address_ids 字段包含用户地址对象idObjectId数组。...可以读取这些用户地址对象idObjectId)来获取用户详细地址信息。 这种方法需要两次查询,第一次查询用户地址对象idObjectId),第二次通过查询id获取用户详细地址信息。...索引数组字段 假设我们基于标签来检索用户,为此我们需要对集合中数组 tags 建立索引。 在数组中创建索引,需要对数组每个字段依次建立索引。...所以在我们数组 tags 创建索引时,会为 music、cricket、blogs三个值建立单独索引。...MongoDB中存储文档必须有一个""_id""键。这个键值可以是任何类型,默认是个ObjectId对象

3.7K40

MongoDB 入门极简教程

Min/Max keys:将一个值与 BSON(二进制 JSON)元素最低值和最高值相对比。 Arrays:用于将数组或列表或多个值存储一个键。 Timestamp:时间戳。...你可以指定自己日期时间:创建 Date 对 象,传入年月日信息。 Object ID对象 ID。用于创建文档 ID。 Binary Data:二进制数据。用于存储二进制数据。...取值 true 时,代表在后台构建索引。默认值 false unique 布尔值 创建一个唯一索引,从而当索引键匹配了索引中一个已存在值时,集合不接受文档插入。...sparse 布尔值 如果 true,索引只引用带有指定字段文档。这些索引占据空间较小,但在一些情况下表现也不同(特别是排序)。默认值 false 。...当使用数组时,数据处于预连接状态,通过该操作,数据重新回归各个单独文档状态。利用该阶段性操作可增加下一阶段性操作文档数量。

3.7K10
领券