1. 程式人生 > >JavaScript物件的鍵值對

JavaScript物件的鍵值對

JavaScript 的物件是一種無序的集合資料型別,是由鍵值對組成的,與python字典有一定相似性。不過javascript的鍵要求必須是字串,而值可以是其他型別,甚至鍵必須是唯一的,因為當鍵不唯一時,後面的鍵會覆蓋前面的鍵。

var max = {
           'birth-month':'January',
           'birth-month':1}
alert(max['birth-month']);
彈出的對話方塊顯示1,而不是January.

既然鍵是字串,我們可以用加引號來宣告鍵,如'name',而官方也給出了我們不加引號也宣告的例子,如age,這兩種宣告有什麼不同呢?

var max = {'name':'marxwolf',
            age:18,
           'birth-month':'January',
           'birth-month':18}
alert(max.name);
alert(max['name']);
alert(max.age);
alert(max['age']);
//alert(max.birth-month);
alert(max['birth-month']);
如果鍵的宣告是一個有效的變數名,我們可以加引號,也可以不加引號,也就是說這兩種情況是等價的,我們可以用max.name索引,也可以用max['name']索引,這兩種情況完全是等價的。

但是如果鍵的宣告不是一個有效的變數名,比如說birth-month,加入了中劃線,就必須加引號,不然會產生語法錯誤,而這種情況下的呼叫,也必須是max['birth-month']這種方式。
但是,我又發現當在迴圈中呼叫的時候,好像只能用max[key]這種形式,而max.key這種形式會報錯,我也不清楚為什麼,等我搞明白了再來更新。

相關推薦

JS獲取物件中key的方法

使用Object.keysObject.keys( ) 會返回一個數組,陣列中是這個物件的key值列表所以只要Object.keys(a)[0], 就可以得只包含一個鍵值對的key值下面是MDN中對Object.keys的描述Object.keys()方法會返回一個由一個給定

JavaScript物件

JavaScript 的物件是一種無序的集合資料型別,是由鍵值對組成的,與python字典有一定相似性。不過javascript的鍵要求必須是字串,而值可以是其他型別,甚至鍵必須是唯一的,因為當鍵不唯一時,後面的鍵會覆蓋前面的鍵。 var max = {

陣列中的物件里加

let backTabledata = [ { id:'126652', no: '1', longitude: '103.94292', latitude: '30.620123', altitude: 501.00143, distance:'--' }, {

兩個物件key相同但是value不同,將value不同的物件形式輸出

let obj={ name:'jack', age:18, sex:'girl' } let obj2={ name:'rose', age:18, sex:'boy' }

在js中如何獲取一個hash物件,尤其是的獲取

var obj = { '1' : 'apple', '2' : 'orange', '3' : 'pear' }; var arrMsg = ['apple', 'orange', 'pear']; var array = [{'111': 'apple'}, {'222': 'orange

物件屬性和轉map

網上看到的方法,找不到原文,留作筆記記之。private static Map<String, String> obj2Map(Object obj) { Map<String, String> map=new HashMap<String,

物件

var obj={"one":"I am 1","two":"I am 2"}; var arr = Object.getOwnPropertyNames(obj); //arr=["one", "two"] var arr2 = Object.k

(三)JavaScript的陣列、和原型

一、Array物件 Array既被當作陣列,又被當作鍵值對和list集合,最外層為“[ ]”(中括號)即為數字,為“{ }”(大括號)即為鍵值對,又稱作json格式。 <script

去除物件內的空

for (const key in data) { // 去除物件內多餘的空值key if (.data[key] === '') { delete

js javascript 自定義json資料格式,以變數作為名,自定義

js中的 json 格式資料,當用變數作為鍵(名)時,如:var a = $('#cid').val(); var b = $('#goods_name').val(); var j = {a:b}:這樣 a 是不會被解析的,正確寫法應該是:var a = $('#cid')

C#給JSON物件新增一個

直接看程式碼: /// <summary>新增一個屬性 /// /// </summary> /// <

JavaScript中用陣列實現

  今天寫瀏覽器端js程式,需要用到鍵值對的功能,vbs中有dictionary物件,js中也應該有對應的dictionary物件,查了一下js手冊,js中果然有dictionary物件,程式寫好了,跨瀏覽器一測試,發現只有IE支援new ActiveXObject("Scripting.Dictiona

JavaScript中實現的方法

在寫js的時候,碰到需要使用類似hashmap的情況。 1、有一種比較簡單的實現辦法,但是使用起來侷限性比較大。 var obj1={"a":1,"b":2}; alert(obj1["a"]); 這是一種功能非常簡單的鍵值對,只能夠小範圍的定義和取值。 2、自己寫j

集合框架_Map集合的遍歷之物件

package cn.itcast_01; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; i

js序列化封裝成一個象,以的方式

tle {} ora serialize strong push com alt tro js序列化封裝成一個對象,以鍵值對的方式 類似:Object {ni: "1", wo: "2", ta: "3", huge: "4", jindong: "5"…} jque

Spark學習筆記3:操作

對象 常用 ava java 參數 通過 頁面 ascend 處理過程 鍵值對RDD通常用來進行聚合計算,Spark為包含鍵值對類型的RDD提供了一些專有的操作。這些RDD被稱為pair RDD。pair RDD提供了並行操作各個鍵或跨節點重新進行數據分組的操作接口。 Sp

JavaSE8基礎 HashMap<Integer,String> entrySet遍歷 的集合

system brush 現象 image 基礎 cli 集合 eas 所有 os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) code: p

JavaSE8基礎 HashMap remove 刪除指定的

() ava 七天 result [] api 現象 成功 port os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) code: p

JavaSE8基礎 HashMap remove 根據來刪除

print 基礎 ret 優秀 有一個 然而 java源碼 lock 技術分享 os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) cod

JavaSE8基礎 HashMap isEmpty clear 判斷該映射空不空與刪除所有

eas pty java 映射 turn map string ati imp os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) code: