Baseline Widely available
fill()
æ¹æ³ç¨ä¸ä¸ªåºå®å¼å¡«å
ä¸ä¸ªæ°ç»ä¸ä»èµ·å§ç´¢å¼ï¼é»è®¤ä¸º 0
ï¼å°ç»æ¢ç´¢å¼ï¼é»è®¤ä¸º array.length
ï¼å
çå
¨é¨å
ç´ ãå®è¿åä¿®æ¹åçæ°ç»ã
const array1 = [1, 2, 3, 4];
// Fill with 0 from position 2 until position 4
console.log(array1.fill(0, 2, 4));
// Expected output: Array [1, 2, 0, 0]
// Fill with 5 from position 1
console.log(array1.fill(5, 1));
// Expected output: Array [1, 5, 5, 5]
console.log(array1.fill(6));
// Expected output: Array [6, 6, 6, 6]
è¯æ³
fill(value)
fill(value, start)
fill(value, start, end)
åæ°
value
ç¨æ¥å¡«å
æ°ç»å
ç´ çå¼ãæ³¨ææææ°ç»ä¸çå
ç´ é½å°æ¯è¿ä¸ªç¡®å®çå¼ï¼å¦æ value
æ¯ä¸ªå¯¹è±¡ï¼é£ä¹æ°ç»çæ¯ä¸é¡¹é½ä¼å¼ç¨è¿ä¸ªå
ç´ ã
start
å¯é
åºäºé¶çç´¢å¼ï¼ä»æ¤å¼å§å¡«å ï¼è½¬æ¢ä¸ºæ´æ°ã
start < 0
ï¼åä½¿ç¨ start + array.length
ãstart < -array.length
æ start
被çç¥ï¼åä½¿ç¨ 0
ãstart >= array.length
ï¼æ²¡æç´¢å¼è¢«å¡«å
ãend
å¯é
åºäºé¶çç´¢å¼ï¼å¨æ¤ç»æå¡«å
ï¼è½¬æ¢ä¸ºæ´æ°ãfill()
å¡«å
å°ä½ä¸å
å« end
ç´¢å¼ã
end < 0
ï¼åä½¿ç¨ end + array.length
ãend < -array.length
ï¼åä½¿ç¨ 0
ãend >= array.length
æ end
被çç¥ï¼åä½¿ç¨ array.length
ï¼å¯¼è´ææç´¢å¼é½è¢«å¡«å
ãend
çä½ç½®å¨ start
ä¹åæä¹ä¸ï¼æ²¡æç´¢å¼è¢«å¡«å
ãç» value
å¡«å
ä¿®æ¹åçæ°ç»ã
fill()
æ¯ä¸ªä¿®æ¹æ¹æ³ï¼ä¸ä¼æ¹å this
çé¿åº¦ï¼ä½ä¼æ¹å this
çå
容ã
fill()
ä¹ä¼ä½¿ç¨ value
å¡«å
ç¨çæ°ç»ç空槽ã
fill()
æ¹æ³æ¯éç¨çãå®åªææ this
弿ä¸ä¸ª length
屿§ãè½ç¶åç¬¦ä¸²ä¹æ¯ç±»ä¼¼æ°ç»çï¼ä½è¿ä¸ªæ¹æ³ä¸éååºç¨äºå®ä»¬ï¼å 为å符串æ¯ä¸å¯åçã
夿³¨ï¼ å¨ä¸ä¸ªç©ºæ°ç»ï¼length = 0
ï¼ä¸ä½¿ç¨ Array.prototype.fill()
ä¸ä¼å¯¹å
¶è¿è¡ä¿®æ¹ï¼å 为æ°ç»æ²¡æè¦ä¿®æ¹çå
容ãè¦å¨å£°æä¸ä¸ªæ°ç»æ¶ä½¿ç¨ Array.prototype.fill()
ï¼è¯·ç¡®ä¿æ°ç»ç length
ä¸ä¸ºé¶ãåè§ç¤ºä¾ã
console.log([1, 2, 3].fill(4)); // [4, 4, 4]
console.log([1, 2, 3].fill(4, 1)); // [1, 4, 4]
console.log([1, 2, 3].fill(4, 1, 2)); // [1, 4, 3]
console.log([1, 2, 3].fill(4, 1, 1)); // [1, 2, 3]
console.log([1, 2, 3].fill(4, 3, 3)); // [1, 2, 3]
console.log([1, 2, 3].fill(4, -3, -2)); // [4, 2, 3]
console.log([1, 2, 3].fill(4, NaN, NaN)); // [1, 2, 3]
console.log([1, 2, 3].fill(4, 3, 5)); // [1, 2, 3]
console.log(Array(3).fill(4)); // [4, 4, 4]
// ä¸ä¸ªç®åç对象ï¼è¢«æ°ç»çæ¯ä¸ªç©ºæ§½æå¼ç¨
const arr = Array(3).fill({}); // [{}, {}, {}]
arr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]
ä½¿ç¨ fill() å建å
¨ 1 ç©éµ
æ¤ç¤ºä¾æ¼ç¤ºäºå¦ä½å建å
¨ 1 çç©éµï¼å°±å Octave æ MATLAB ç ones()
彿°åå°ç飿 ·ã
const arr = new Array(3);
for (let i = 0; i < arr.length; i++) {
arr[i] = new Array(4).fill(1); // å建ä¸ä¸ªå¤§å°ä¸º 4 çæ°ç»ï¼å¡«å
å
¨ 1
}
arr[0][0] = 10;
console.log(arr[0][0]); // 10
console.log(arr[1][0]); // 1
console.log(arr[2][0]); // 1
ä½¿ç¨ fill() å¡«å
空æ°ç»
æ¤ç¤ºä¾æ¼ç¤ºäºå¦ä½å¡«å
æ°ç»ï¼å°ææå¼è®¾å®ä¸ºä¸ä¸ªç¹å®çå¼ãæ éæå® end
åæ°ã
const tempGirls = Array(5).fill("girl", 0);
注æï¼æ°ç»æå为ç¨çæ°ç»ï¼æ²¡æåé
ç´¢å¼ãfill()
ä»ç¶å¯ä»¥å¡«å
è¿ä¸ªæ°ç»ã
fill()
æ¹æ³è¯»å this
ç length
屿§ï¼å¹¶è®¾ç½®ä» start
å° end
çæ¯ä¸ªæ´æ°å±æ§çå¼ã
const arrayLike = { length: 2 };
console.log(Array.prototype.fill.call(arrayLike, 1));
// { '0': 1, '1': 1, length: 2 }
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4