首先array也是obj。只是一个特殊的object。
obj一个很关键的点,是拥有成员和方法,撇开方法不说,obj就是一个key-value结构。也就是哈希数组,而js的数组只能是由数字索引组成的。撇开了key,只留下value的话数据丢失太多。如果保留了key,那么就是哈希数组,而在js里面,哈希数组属于obj,不属于array。
强制转换如下。
var arr = []
for(i in obj){
arr.push(i)
有的情况下,需要通过一个字符串快捷获取到 Json 或 数组Json 中指定对象的值,比如:<script>
// -------------------------- Json 测试
// 数据
const json = {
a: 'a',
b: {
c: 'c',
d: [{
e: 'e'
}],
f: [[{
g: 'g'
}]]
}
}
// 调用
console.log(GetValue(json, 'b.d[0]')) // {e: 'e'}
console.log(GetValue(json, 'b.f[0][0].g')) // g
console.log(GetValue(json, 'b.f[0[0.g')) // g
console.log(GetValue(json, 'b.f]0]0.g')) // g
console.log(GetValue(json, 'b.f.0.0.g')) // g
// -------------------------- Array 测试
// 数据
const arr = [
{
a: 'a',
b: [{
c: 'c',
d: {
e: 'e'
}
}]
}
]
// 调用
console.log(GetValue(arr, '[0].b[0].d.e')) // e
console.log(GetValue(arr, '0.b.0.d.e')) // e
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
封装方法
<script>
// 获取值
function GetValue(obj, key) {
// 当前值
var value = undefined
// 是否有值
if (obj &&key) {
// 赋值
value = obj
// 分析大括号
if (key.includes('[') || key.includes(']')) {
// 替换符号
if (key.includes('[')) {
key = key.replace(new RegExp('\\[', "gm"), '.')
key = key.replace(new RegExp('\\]', "gm"), '')
} else {
key = key.replace(new RegExp('\\]', "gm"), '.')
}
}
// 拆分
const keys = key.split('.')
// 过滤出来可用的 keys
const newKeys = []
// 过滤
keys.forEach(itemKey =>{
// 有值则添加
if (itemKey.length) { newKeys.push(itemKey) }
})
// 取值
newKeys.some(itemKey =>{
// 直接取值
if (value) { value = value[itemKey] }
// 是否停止
return !value
})
}
// 返回
return value
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
文章知识点与官方知识档案匹配
Python入门技能树首页概览
224156 人正在系统学习中
打开CSDN APP,看更多技术内容
js之字典的学习和使用_Ying(英子)的博客_js 字典
js之字典学习和使用 字典 是一种以键-值对形式存储数据的数据结构,比如:名字-电话号码,通过名字就能找到对应的电话号码,名字就是键(key),电话号就是值(value)。 字典中的键,是值在字典中的索引。 对于javascript来说,字典类(...
继续访问
js 获取字典的key_Python零基础入门之列表与字典_weixin_39580041的博...
字典采用键(key):值(value)形式表达数据 字典中key不允许重复,value允许重复 字典是可修改的,运行时动态调整存储空间 创建字典的两种方式 使用{}创建字典 使用dict函数创建字典 字典的取值操作 ...
继续访问
python实现提取str字符串/json中多级目录下的某个值
字符串多级目录取值: 比如说: 你response接收到的数据是这样的。 你现在只需要取到itemstring 这个字段下的值。其他的都不要! 思路就是:字符串是个json格式(或转为json格式),然后str转为字典dict,然后循环遍历按照key来取值。 你的data是个字典 然后item_list是data的Key ,item_list是个数组,这个里面的数组中的每个元素都是一个字典。 因此就是dict多级路径按key取值。 # 多级目录提取-dict print(type(response)) print(type(response.text)) result = json.loa
JS--数组和字典
JS--数组和字典 定义数组 var my_array= new Array()一、JS数组 JavaScript中的数组类似于Python的列表 https://www.cnblogs.com/bigberg/p/9237856.html 1 a = [11,22,33,44] 常见功能: 1 ...
继续访问
easyui js数据字典中获取值_SZH8023的博客_eyou能得到js...
easyui js数据字典中获取值 var CRUD = { add: function () { var hDialog = top.jQuery.hDialog({ title: '添加', width: 800, height: 600, href: formurl, iconCls: 'icon-add', //初始化添加 onLoad: function ()...
继续访问
js 获取字典的key_一份最通俗易懂的Python字典教程
一、列表的缺点当存储的数据要动态添加、删除的时候,我们一般使用列表,但是列表有时会遇到一些麻烦。# 定义一个列表保存,姓名、性别、职业 nameList = ['xiaoZhang', '男', '木匠']# 当修改职业的时候,需要记忆元素的下标 nameList[2] = '铁匠' # 如果列表的顺序发生了变化,添加年龄 nameList = ['xiaoWang', 18, '男'...
继续访问
JavaScript数据结构——字典(Dictionary)
概念和结构 字典里面的元素都是一个键(key)值(value)对。 字典里面的元素的键(key)不能重复,值(value)可以重复。 字典的操作 集合有八种常用操作,分别为 检查键是否存在 has(key) 添加元素 set(key,value) 通过键移除元素 delete(key) 由键获取值 get(key) 提取字典所有值 values() 获取全部键名 keys() 清除字典 cl...
继续访问
Python 对象与 JSON 字符串的相互转换
JSON 简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。 json 简单说就是 javascript 中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。 对象:对象在 js 中表示为{ }括起来的内容,数据结构为 { key:value, key:value, … }的键值对的结构
继续访问
jeesite实战(十三)——JS获取数据字典的值
系列文章目录 文章目录系列文章目录前言一、目标二、实现目标1.步骤总结 前言 本系列文章主要记录项目过程中重点的项目技术 一、目标 通过JS获得数据字典的数据,并根据实际的值获取显示的值,如下图瓦工对应数据字典的值为“0” 二、实现目标 1.步骤 实现步骤: 1.通过DictUtils工具以及数据字典的名称,获得数据字典对象,然后通过for循环的形式获得对应的中文内容 //显示的内容 var carTypevar carTypes = ${@DictUtils.getDictLis
继续访问
JS获取JSON字符串的几种方式
之前有人问了一个问题就是关于js获取json数据value值的几种方式,所以今天把一些比较常见的给总结了一下,希望能帮助到大家 <script>var obj = {id:1,name:'abd'} //js获取json字符串value的第一种方式 console.log(obj.id)//js获取json字符串value的第二种方式 console.log(obj['id'])Obje
继续访问
JavaScript通过下标获取对象(字典)指定键和值
var a = { 姓名: '张三', 性别: '男', 身高: '175cm', 体重: '65kg' } //方式一,分别得到键和值的数组 var keys = Object.keys(a) var values = Object.values(a) console.log(keys[1] + ':' + values[1]) //方式二,直接操作,更简洁一点 console.log(Object.keys(a)[2] + ':' + Object.values(a)[2]) 输出如.
继续访问
通俗易懂讲解JavaScript深拷贝和浅拷贝
基本类型和引用类型 在开始讲解JavaScript的深拷贝和浅拷贝之前,先要认识JavaScript的两种基本数据类型。一种是基本类型(值类型),另外一种是引用类型。其中基本类型包括undefined、null、number、string和boolean,这几种类型在内存中都有固定的大小和空间。引用类型包括object,这种值的大小不固定,可以动态添加属性和方法,而基本类型则不可以。 基本类型的值保存在内存中的栈中,而引用数据类型的值保存在内存中的堆中,在栈内存中保存着指向堆内存的指针。如果此时你对栈或者堆
继续访问
c# 字典排序_Python零基础入门之列表与字典
本篇内容需结合源码,获取方法看末尾数据结构数据结构就是指从计算机存储、组织数据的结构列表(List) 元组(Tuple)字典(Dictionary)集合(Set)列表(List)列表中的数据按顺序排列列表有正序与倒序两种索引列表可存储任意类型数据,且允许重复创建列表变量名 = [元素1,元素2,......] list = ['a','b','c','d',1,2,3,4]list = [ ] #...
继续访问
js中字典的使用
字典是一种以键-值为一队存储的数据结构,key-value key相当于这个value在字典中的索引,所以key不允许重复,查找也会非常快(类似于哈希表) 在JavaScript中字典的基础是Array类,Array在JavaScript中既是数组也是字典 1.定义字典 var dic = new Array()//定义一个字典 dic['one'] = '1'//...
继续访问
热门推荐 C# 如何识别一个字符串是否Json格式
using Systemusing System.Collections.Genericusing System.Textnamespace CYQ.Data.Tool { /// /// 分隔Json字符串为字典集合。 /// internal class JsonSplit { private st
继续访问
列表中有多个字典,如何取字典中的值
列表中有多个字典,如何取字典中的值,如下面的列表中有3个字典: list=[{‘pathname’: ‘nameone’, ‘num’: 1, ‘status’: ‘RUN’}, {‘pathname’: ‘nametwo’, ‘num’: 2, ‘status’: ‘RUN’}, {‘pathname’: ‘namethree’, ‘num’: 3, ‘status’: ‘RUN’}] 现在要取第2个字典中的num对应的值,值为2。 如果按照取列表中第二个字典,字典中的第二个值表示为:list[1][1]
继续访问
python 取json数组的值_pythonjson数组取值
Python 怎么获取json 里的特定的某个值如果孤独的人愿意回头,焦躁的人愿意等候,内向的人愿意开口,也许这才是爱情最真的样子。”首先我们要导入json包,新建一个对象。 真正的爱情并不一定是他人眼中的完美匹配,而是相爱的人彼此心灵的相互契合。接着直接调用json.dumps将对象转化为json格式,所示,这是比较常用的。 朋友是清明理性让你远离危险的人,是开明坦荡给人快乐的人。我们可以输出一...
继续访问
最新发布 JS进阶-字符串提取
JS进阶-字符串提取
继续访问
JavaScript如何从字符串中提取数字?
JavaScript如何从字符串中提取数字?
继续访问
js 在已有字典中存数据_easyui运用js在数据字典中获取值
varCRUD={add:function(){varhDialog=top.jQuery.hDialog({title:'添加',width:800,height:600,href:formurl,iconCls:'icon-add',//初始化添加onLoad:function(){//数据字典中获取值top.$('#txt_fenlei').comb...
继续访问
js去除空格12种方法
JS去除空格的方法目前共有12种: 实现1 String.prototype.trim = function() { return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '')} 看起来不怎么样, 动用了两次正则替换,实际速度非常惊人,主要得益于浏览器的内部优化。一个著名的例子字符串拼接,直接相加比用Array做成的StringBu
继续访问
js 获取字典的key_JS-字典
function Dictionary() {// 字典属性this.items = {}// 字典操作方法// 1.在字典中添加键值对--set方法Dictionary.prototype.set = (key,value)=>{this.items[key]=value}// 2.判断字典中是否有某个keyDictionary.prototype.has=(key...
继续访问
Js 字符串中提取数字
Js 字符串中提取数字一 parseInt()方法: 首先想到的是js提供的parseInt方法,例子: var str ="4500元"var num = parseInt(str)alert(num)//4500 结果就是我们想要的, 以为就这么简单,那就错了。如果字符串前面有非数字字符,上面这种方法就不...
继续访问
js字典取值
python
开发语言
写评论
评论
收藏
function nameRnd(name) {return [...name].reduce((t, c) => (t * c.codePointAt(0)) % 123, 1)
}
nameRnd('张三') // 21
nameRnd('李四') // 95
那个123是指产生的随机数会在0-122的范围内,可以根据需要自己修改
这里使用的是一个比较简单的哈希函数,将每个字符的编码相乘并取余处理
比如上例中的'张三'两个字的10进制编码分别是24352,19977,那么计算过程如下
24352 % 123 = 121
121 * 19977 = 2417217
2417217 % 123 = 21