第12題 考查物件的鍵名

2021-09-26 22:53:07 字數 1406 閱讀 7739

題目:下面**輸出的結果是什麼?

var a={}, b='123', c=123;  

a[b]='b';

a[c]='c';

console.log(a[b]); // c

// example 2

var a={}, b=symbol('123'), c=symbol('123');

a[b]='b';

a[c]='c';

console.log(a[b]);// b

// example 3

var a={}, b=, c=;

a[b]='b';

a[c]='c';

console.log(a[b]);// c

本題考查的是物件的鍵名轉換:

example 1

var a={}, b='123', c=123;  

a[b]='b';

console.log( a);//

a[c]='c';

console.log(a);//

console.log(a[b]);// c

example 2
var a={}, b=symbol('123'), c=symbol('123');  

a[b]='b';

a[c]='c';

console.log(a[b]);// b

example 3
var a={}, b=, c=;  

a[b]='b';

console.log(a); //

a[c]='c';

console.log(a); //

console.log(a[b]);// c

要想不被覆蓋,怎麼做?

這裡會想到es6新增的map方法,它可以使物件的鍵名為任意型別。

example 1:

var a= new map(), b='123', c=123;  

a.set(b, "b");

a.set(c, "c");

console.log(a)// map(2)

console.log(a.get(b)); // b

example 2:

var a=new map(), b=, c=;  

a.set(b, "b");

a.set(c, "c");

console.log(a)// map(2) => "b", => "c"}

console.log(a.get(b)); // b

lintcode 第12題帶最小值操作的棧

要求 實現乙個帶有取最小值min方法的棧,min方法將返回當前棧中的最小值。你實現的棧將支援push,pop 和 min 操作,所有操作要求都在o 1 時間內完成。注意事項 如果堆疊中沒有數字則不能進行min方法的呼叫。樣例 如下操作 push 1 pop push 2 push 3 min pus...

出鞘之劍指offer 第12題 矩陣中的路徑

設計乙個函式,判斷在乙個矩陣中是否存在一條包含某字串所有字元的路徑。路徑可以從矩陣中的任意一格開始,每一步可以在矩陣中上 下 左 右移動一格。如果一條路徑經過了矩陣的某一格,那麼該路徑不能再次進入該格仔。用回溯法,也就是相當於暴力 package offer.xzs.twelvfth public ...

CCF認證2023年12月第3題 最大的矩形

試題編號 201312 3 試題名稱 最大的矩形 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 在橫軸上放了n個相鄰的矩形,每個矩形的寬度是1,而第i 1 i n 個矩形的高度是hi。這n個矩形構成了乙個直方圖。例如,下圖中六個矩形的高度就分別是3,1,6,5,2,3。請找出能...