6 1 列舉物件屬性的工具函式

2021-07-13 12:42:26 字數 3193 閱讀 8719

extend(o, p) 惡性合併,用p中的同名屬性覆蓋掉o中的同名屬性

var p1 = ;

var p2 = ;

// 惡性合併,即:存在同名屬性時,覆蓋掉o中的屬性

function

extend

( o, p )

// 返回合併後的物件

return o;

}var res = extend( p1, p2 );

console.log(p1); // p1 被合併,內容發生改變

console.log(p2); // p2 內容不變

console.log(res); // p1 p2 合併後的結果,指向p1

// output:

test.html:57

object

test.html:58

object

test.html:59

object

merge(o, p) 友好合併,保留o中的同名屬性
// 友好合併,即:存在同名屬性時,保留o中的屬性,不進行覆蓋

function

merge

( o, p )

// 返回合併後的物件

return o;

}var res = merge( p1, p2 );

console.log(p1); // p1 被合併,內容發生改變

console.log(p2); // p2 內容不變

console.log(res); // p1 p2 合併後的結果,指向p1

// output: 保留了原來的值

test.html:64

object

test.html:65

object

test.html:66

object

restrict(o, p) 排除異己,從o中刪除p中不存在的屬性
// 排除異己,從o中刪除掉p中不存在的屬性,即:我無你也不能有,~~!

function

restrict

( o, p )

// 返回排除不同屬性的物件

return o;

}var res = restrict( p1, p2 );

console.log(p1); // p1 部分屬性被刪除,內容發生改變

console.log(p2); // p2 內容不變

console.log(res); // p1 p2 合併後的結果,指向p1

// output: 我裡面有name所以你可以有,但是age我這裡沒有,所以你也不能有

test.html:46

object

test.html:47

object

test.html:48

object

substrict(o, p) 殘殺同類,從o中刪除p中存在的屬性
// 殘殺同類,從o中刪除p中存在的屬性,即:我能有但是你不允許有,~~!

function

subtract

( o, p )

// 返回已刪除同名屬性的的物件

return o;

}var res = subtrct( p1, p2 );

console.log(p1); // p1 部分屬性被刪除,內容發生改變

console.log(p2); // p2 內容不變

console.log(res); // p1 p2 合併後的結果,指向p1

// output: name在p1,p2中都存在,所以從p1中刪除掉了

test.html:53

object

test.html:54

object

test.html:55

object

union(o, p) 善意的謊言,合併物件屬性,但保留p自身的同名屬性,返回新物件
// 善意的謊言,合併物件,保留後者同名屬性,即:我們合體吧,但是用我的外表和名字,嘎嘎嘎~~!

function

union

( o, p ) , o ), p);

}var res = union( p1, p2 );

console.log(p1); // p1 內容不變

console.log(p2); // p2 內容不變

console.log(res); // p1 p2 合併後的返回的新物件

// output: 同名的weight保留了p2中的值,p1,p2不變,返回的是個新物件

test.html:56

object

test.html:57

object

test.html:58

object

intersection(o, p) 不求回報的付出,返回乙個擁有o, p共有屬性的新物件,保留o中的屬性值
// 不求回報的付出,物件的交集,保留前者者同名屬性,即:我要讓你變成我一樣,我是多麼得偉大,多麼的有愛心,呵呵呵~~!

function

intersection

( o, p ) , o ), p);

}var res = intersection( p1, p2 );

console.log(p1); // p1 內容不變

console.log(p2); // p2 內容不變

console.log(res); // p1 p2 排除異己之後剩下的共有屬性組成的新物件

// output: 保留了p1,p2中都存在的屬性name, p1,p2不變,返回新物件

test.html:61

object

test.html:62

object

test.html:63

object

keys(o) 返回乙個陣列,陣列裡包含了物件o裡可以列舉的自有屬性(非原型屬性)
function

keys

( o )

}// 返回儲存了可以列舉的屬性的陣列

return result;

}

30 列舉常見的內建函式?

自己用到的一些 bin 返回乙個整數 int 或者長整數 long int 的二進位制表示。abs 此函式返回數字的絕對值。enumerate 函式用於將乙個可遍歷的資料物件 如列表 元組或字串 組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。id 函式用於獲取物件的記憶體位...

C 類和物件(七) 列舉

列舉是乙個值型別,包含一組命名的常量,如這裡的color型別。列舉型別用enum關鍵字定義 public enum color red,green,blue 可以宣告列舉型別的變數,如變數c1,用列舉型別的名稱作為字首,設定乙個命名常量,來賦予列舉中的乙個值 color c1 color.red w...

基礎鞏固12 列舉類以及列舉類物件的變數

獲取某個列舉物件的屬性值 1 獲取列舉物件 通過靜態屬性獲取列舉物件 season spring season.spring 通過列舉物件的名字獲取列舉物件 season summer season.valueof summer string seasonname spring.getseasonn...