function recursivePascalTriangle(n, row = [1], triangle = []) {
triangle.push(row);
if (n === triangle.length) {
return triangle;
}
const nextRow = [1];
for (let i = 1; i < row.length; i++) {
nextRow.push(row[i] + row[i - 1]);
}
nextRow.push(1);
return recursivePascalTriangle(n, nextRow, triangle);
}
const result = recursivePascalTriangle(5);
console.log(result);
Please open Telegram to view this post
VIEW IN TELEGRAM
π€9π2β€1π€£1 1
Help us get to know our diverse audience! Please select the region or country where you're currently located. Your input will assist us in tailoring our content to better suit your interests and preferences. Thank you for participating!
Anonymous Poll
8%
US
12%
Europe
6%
Arab countries
12%
Asian countries
15%
African countries
8%
Armenia
2%
Georgia
10%
Russia
2%
Brazil
25%
India
function recursiveNQueens(n) {
const board = Array.from({ length: n }, () => Array.from({ length: n }, () => "."));
const solutions = [];
const isSafe = (row, col) => {
for (let i = 0; i < row; i++) {
if (board[i][col] === "Q") return false;
const colOffset = row - i;
if (col - colOffset >= 0 && board[i][col - colOffset] === "Q") return false;
if (col + colOffset < n && board[i][col + colOffset] === "Q") return false;
}
return true;
};
const placeQueens = (row) => {
if (row === n) {
solutions.push(board.map(row => row.join("")));
return;
}
for (let col = 0; col < n; col++) {
if (isSafe(row, col)) {
board[row][col] = "Q";
placeQueens(row + 1);
board[row][col] = ".";
}
}
};
placeQueens(0);
return solutions;
}
const result = recursiveNQueens(4);
console.log(result);
Please open Telegram to view this post
VIEW IN TELEGRAM
β€2π1
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, curr) => {
setTimeout(() => {
acc += curr;
}, 0);
return acc;
}, 0);
console.log(sum);
Please open Telegram to view this post
VIEW IN TELEGRAM
π8 6β€2
π€23π€£6 6β€3π2π€©1
Stage changes:
- Several proposals advanced to stage 1.
- Stage 2: βPromise.tryβ
- Stage 3: βUint8Array to/from base64 and hexβ
- Stage 4: βArrayBuffer.prototype.transfer and friendsβ
- Several proposals became inactive.
New ECMAScript proposal stage: 2.7
π¨ βStage 2.7 is equivalent to what we used to call Stage 3. It means that the design is considered complete, we have a full specification, and we need to write code (tests and non-polyfill implementations) to gain feedback and make progress. Itβs a strong signal.β
π¨βStage 3 has been strengthened and now also means that test262 conformance tests are ready. This is a useful signal to JS engines that a proposal is truly ready to be implemented.β
π¨βWhy did we do this? We separated out the βApproved in Principle: Spec Readyβ stage from the later βRecommended for Implementation: Tests Readyβ stage to reduce wasted effort in writing tests before spec stability, whilst also clarifying the test readiness message to engines.β
TC39 member Jordan Harband comments: β[Stage 2.7 is] explicitly without the signal that itβs safe to ship unflagged, or use in production (which includes publishing polyfills). Stage 3 remains the signal for these things.β
ecmascript.new
Please open Telegram to view this post
VIEW IN TELEGRAM
function recursiveMaxSubarraySum(nums, startIndex = 0, currentSum = 0, maxSum = -Infinity) {
if (startIndex === nums.length) {
return maxSum;
}
currentSum = Math.max(nums[startIndex], currentSum + nums[startIndex]);
maxSum = Math.max(currentSum, maxSum);
return recursiveMaxSubarraySum(nums, startIndex + 1, currentSum, maxSum);
}
const result = recursiveMaxSubarraySum([-2, 1, -3, 4, -1, 2, 1, -5, 4]);
console.log(result);
Please open Telegram to view this post
VIEW IN TELEGRAM
π13 6β€3
roadmap.sh is the 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month.
Please open Telegram to view this post
VIEW IN TELEGRAM
const string = "Lorem ipsum dolor sit amet";
const result = string.split(" ")
.map(word => word.toLowerCase())
.reduce((acc, word) => {
acc[word] = (acc[word] || 0) + 1;
return acc;
}, {});
console.log(result);
Please open Telegram to view this post
VIEW IN TELEGRAM
What is the output?
Anonymous Quiz
48%
{ lorem: 1, Ipsum: 1, dolor: 1, sit: 1, amet: 1 }
23%
{ amet: 1, dolor: 1, ipsum: 1, lorem: 1, sit: 1 }
19%
{ lorem: 1, ipsum: 1, dolor: 1, sit: 1, amet: 2 }
10%
This will result in an error.
π€12π7 4β€2
Security releases had been expected to land in the past week for Node and theyβre now here as v21.6.2 (Current), v20.11.1 (LTS), and v18.19.1 (LTS). They include fixes for a variety of vulnerabilities, including some high severity ones involving HTTP-based DoS attacks and privilege escalation.
RAFAEL GONZAGA AND MARCO IPPOLITO
Please open Telegram to view this post
VIEW IN TELEGRAM
π5 5β€4π€1
Please open Telegram to view this post
VIEW IN TELEGRAM
π€£82π9β€8 5π€©3
const numbers = [1, 2, 3, 4, 5];
const result = numbers.filter(num => num % 2 === 0)
.map(num => num ** 2)
.reduce((acc, val) => acc + val, 0);
console.log(result);
Please open Telegram to view this post
VIEW IN TELEGRAM
β€9π6 2
Supports all major browsers and can be used with Angular, Vue, and React if you wish. Been around for several years now, but continues to be maintained.
OLI FOLKERD
Please open Telegram to view this post
VIEW IN TELEGRAM