object取key,object取value,object刪除鍵值對,object添加屬性

JS中的對象就是一個以鍵值對形式存儲屬性的一個集合,每一個屬性有一個特定的名稱,並與名稱相對應的值。可以稱之爲映射。

 1,object取key

 Object.keys(obj)

//傳入對象, 返回 包含對象可枚舉屬性和方法的數組
var obj = {'a': 'Beijing', 'b': 'Haidian'};
console.log(Object.keys(obj));    //['a', 'b']

// 傳入字符串,返回索引值
var str = "Beijing"; 
console.log(Object.keys(str));
// ["0", "1", "2", "3", "4", "5", "6"]

// 傳入數組,返回索引值
var arr = ["a", "b", "c"];
console.log(Object.keys(arr));
//["0", "1", "2"]

//構造函數,返回空數組或者屬性名
function Demo(name, age) {
  this.name = name;
  this.age = age;
}
console.log(Object.keys(Demo));
// []


2,object取value

常用方式:obj.key

方式2:obj[key]

沒有對應的key屬性,返回undefined。


3,object刪除屬性

delete:一元運算符,用於刪除對象和數組中的屬性的,單它也僅僅是刪除一個值,並不會返回刪除的內容。

var o = {x:1, y:2};//定義了一個對象
delete o.x;
"x" in o;  //這裏將會得到false值。

var a = [1,2,3];
delete a[1];
2 in a; //元素2已經不再數組中了。

a.length == 3 //這裏將會顯示爲true,雖然刪除了屬性但是,留下了一個佔位,所以數組長度沒有變化。

//刪除屬性之後其實只是元素本身與對象的關係被斷開了,
//但是實際上數組中的內容數量還是沒有改變的,
//但是並沒有數值,所以通過undefined來進行填充。

 

4,object添加屬性

var obj = {
    
    this.name = "zhangsan";

};

 
obj.name = "jack"; // obj: {name: "jack"}
obj['name'] = "jack"; // obj: {name: "jack"}

//賦值運算來爲屬性中可寫的屬性賦值,
//當訪問的對象存在,但是表達式中的屬性不存在時候,則會返回一個類型錯誤。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章