ES6: Unintuitive array element swapping using destructuring assignment

ES6: Unintuitive array element swapping using destructuring assignment

Found this tricky scenario when trying to sort an array by swapping elements using destructuring assignment.

Found this tricky scenario when trying to sort an array by swapping elements using destructuring assignment.

// try to sort the array by swapping elements
const a = [2, 1];

// does not work // 1. cache values on right side of =, i.e. [1, 2] // 2. a[0] := 1; a is now [1, 1] // 3. a[a[0]-1] = a[1-1] = a[0] := 2; a is now [2, 1] again [a[0], a[a[0]-1]] = [a[a[0]-1], a[0]]; console.log(a); // [2, 1]

// does work // 1. cache values on right side of =, i.e. [2, 1] // 2. a[a[0]-1] = a[2-1] = a[1] := 2; a is now [2, 2] // 3. a[0] := 1; a is now [1, 2] [a[a[0]-1], a[0]] = [a[0], a[a[0]-1]]; console.log(a); // [1, 2]

// seems like the values on the right of the = are cached first, then each assignment is executed in order from left to right. // if latter assignments depend on values of previous assignments, this will cause unintuitive results

Here's a nodejs REPL

Angular 9 Tutorial: Learn to Build a CRUD Angular App Quickly

What's new in Bootstrap 5 and when Bootstrap 5 release date?

Brave, Chrome, Firefox, Opera or Edge: Which is Better and Faster?

How to Build Progressive Web Apps (PWA) using Angular 9

What is new features in Javascript ES2020 ECMAScript 2020

Top 7 Most Popular Node.js Frameworks You Should Know

Node.js is an open-source, cross-platform, runtime environment that allows developers to run JavaScript outside of a browser. In this post, you'll see top 7 of the most popular Node frameworks at this point in time (ranked from high to low by GitHub stars).

Node.js for Beginners - Learn Node.js from Scratch (Step by Step)

Node.js for Beginners - Learn Node.js from Scratch (Step by Step) - Learn the basics of Node.js. This Node.js tutorial will guide you step by step so that you will learn basics and theory of every part. Learn to use Node.js like a professional. You’ll learn: Basic Of Node, Modules, NPM In Node, Event, Email, Uploading File, Advance Of Node.

How to Use Express.js, Node.js and MongoDB.js

In this post, I will show you how to use Express.js, Node.js and MongoDB.js. We will be creating a very simple Node application, that will allow users to input data that they want to store in a MongoDB database. It will also show all items that have been entered into the database.