有点意思之你真的了解对象的键值

  javaScript中的对象本质上就是哈希表,即键值对的集合,但是需要注意的是,在这些键值中,键总是字符串。

1 var foo = new Object;
2 var bar = new Object;
3 var map =new Object;
4 map[foo] = ‘foo‘;
5 map[bar] = ‘bar‘;
6 alert(map[foo]);

  在上列所示的代码中,由于foo和bar是对象,在作为map对象的键时,会调用自身的toString()方法把自己转换为对象,那么等价于

map[object Object] = ‘foo‘;
map(object Object = ‘bar;

  所以alert出来的结果就是bar。

原文地址:https://www.cnblogs.com/AngliaXu/p/9095332.html

时间: 2024-11-06 09:38:42

有点意思之你真的了解对象的键值的相关文章

js对象替换键值名称

js对象替换键值名称 将obj中的id和name字段替换分别替换成为"@id","@name" 代码如下: let obj = [{id:1,name:"张三"},{id:2,name:"李四"}].map(function (item) { return{ "@id":item.id, "@name":item.name } }) 对于对象 let obj = { id:1, name

JS判断两个对象是否键值对应相等

//isEqual:判断两个对象是否键值对应相等 function isEqual(a,b){ //如果a和b本来就全等 if(a===b){ //判断是否为0和-0 return a !== 0 || 1/a ===1/b; } //判断是否为null和undefined if(a==null||b==null){ return a===b; } //接下来判断a和b的数据类型 var classNameA=toString.call(a), classNameB=toString.call(

排序数组以及遍历普通对象的键值对以及如何遍历一个不同键值的对象数组

var array = [12,3,67,88,9,344,78,6]; var obj1 = {'name':'小林','age':'18','sex':'男'}; var obj2 = [{'name':'小明'},{'age':'33'},{'sex':'男'},{'sport':'篮球'}]; var keys = [],values = [];//遍历obj1用来存储 键和值的 var keys2 = [],values2 = [];//遍历obj2用来存储 键和值的 array.so

【转】js 对象按照键值(不分区大小写)排序,生成签名方法

客户需求小程序端用js生成签名,我们按照要求一步一步解决,并且将请求方法封装到一个utils.js里: 第一步:对关联数组按照键名做正序排序. 第二步:拼接字符串 第三步:将拼接的字符串加上私钥 第四步:将以上字符串MD5加密 const md5 = require('md5.js'); var appsecret ="appsecret "; var App_Key ="App_Key "; //字母排序:不区分大小写 function sortCharter(a

C#基础 Dictionary存储自定义对象作为键值

程序每次向容器Dictionary中插入数据时,都会判断Key值是否已经存在,如果不存在,则插入.否则抛出异常.那么Dictionary又是如何判断Key值是否存在的呢? 请看下面的代码: class Program { static void Main(string[] args) { var dic = new Dictionary<Person, int>(); dic.Add(new Person {Name = "ABC", Age = 18}, 1); dic.

js实现的对象数组根据对象的键值进行排序代码

有时候会遇到做展示数组的排序,由大到小和由小到大的切换: var arr=[{id:1,webName:"蚂蚁部落"},{id:2,webName:"网易"}]; function done(key,desc) {   return function(a,b){     //return desc ? ~~(parseInt(a[key]) < parseInt(b[key])) : ~~(parseInt(a[key]) > parseInt(b[ke

获取对象的键值名

var demoArr = ['Javascript', 'Gulp', 'CSS3', 'Grunt', 'jQuery', 'angular'];var demoObj = { aaa: 'Javascript', bbb: 'Gulp', ccc: 'CSS3', ddd: 'Grunt', eee: 'jQuery'}; 1.Object.keys(demoObj) //['aaa','bbb','ccc','ddd','eee']; 2.$.each(demoArr, function

获取对象所有键值

var jsonObject = { "name": "xiaoming", "age": 29 }, keys = []; for(var p in jsonObject){ keys.push(p); } console.log(keys) var jsonObject1 = { "name": "xiaoming", "age": 29 }; var keys1 = []; for

因为发现对象名称 &#39;dbo.T3&#39; 和索引名称 &#39;PK__T3__3214EC2706CC942B&#39; 有重复的键,所以 CREATE UNIQUE INDEX 语句终止。重复的键值为 (1)。

sql语句:ALTER TABLE T3 ADD  PRIMARY KEY (ID); 执行报错: 消息 1505,级别 16,状态 1,第 1 行因为发现对象名称 'dbo.T3' 和索引名称 'PK__T3__3214EC270466E04C' 有重复的键,所以 CREATE UNIQUE INDEX 语句终止.重复的键值为 (1).消息 1750,级别 16,状态 0,第 1 行无法创建约束.请参阅前面的错误消息.语句已终止. 出错原因: 要在ID列上建主键,但id列数据有重复,不唯一.