題目:下面**輸出的結果是什麼?
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 2var a={}, b=symbol('123'), c=symbol('123');
a[b]='b';
a[c]='c';
console.log(a[b]);// b
example 3var 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。請找出能...