An array mapping itself leads to an unexpected and peculiar outcome

After trying out various techniques for creating JavaScript arrays, I came across an unexpected outcome. By utilizing map to push an array of self-references (DEMO):

a=[1,1,1,1,1,1,1,1,1,1];
a=a.map(a.push,a);

I ended up with the following result (when using Chrome):

[13,16,19,22,25,28,31,34,37,40]

Could someone provide an explanation for this behavior?

Answer №1

When iterating through each element in the array a, the function push is invoked with that specific element, its index, and the entire array being traversed. This results in an increase of three elements for every element in the original array. The total length of the array grows by three after each iteration, leading to a final array that contains the lengths of the a array after all the push callbacks have been executed.

To understand this process better, refer to the documentation on map and push.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Is it possible for a dash in a GET variable name to cause issues with req.query in NodeJS Express?

I am currently developing a GET endpoint in Node.js using Express to handle the following variable: ?message-timestamp=2012-08-19+20%3A38%3A23 However, I am facing difficulty accessing it through req.query. Whenever I try to access req.query.message-time ...

The functionality of minified JS code is limited to being copied and pasted directly into the

Trying to explain the issue I'm facing may be a bit tricky, but here it goes: I've been working on an AngularJS app (not live yet) and we felt the need to add tooltips for specific metrics in our tables. After some research, we really liked the ...

The images in my gallery refuse to hover or respond to my clicks

Ever since integrating this cropping effect (http://jsfiddle.net/BPEhD/2/) to my gallery images, I've encountered an issue - the hover state is missing and I can't click on the images either. Although the pointer cursor appears when I hover over ...

What is the best way to transfer an array from an Express Server to an AJAX response?

My AJAX request successfully communicates with the server and receives a response that looks like this: [{name: 'example1'}, {name: 'example2'}] The issue arises when the response is passed to the client-side JavaScript code - it is t ...

Prevent the AngularJS bar-footer from covering up the page content

I am currently working on developing an app using Ionic and AngularJS. I am facing a challenge with the bar-footer overlapping the content at the bottom of the page. I want the content to be fully visible before the footer appears, without any overlap. Can ...

Building an aircraft using the points of a polyline with threejs

My goal is to achieve a design similar to this: https://i.sstatic.net/EvyLO.png I have a Polyline with its points, and now I am looking to create a sheet as displayed in the image. The polyline is shown above and below is a sheet generated from those pol ...

Is an array literal considered an object in JavaScript?

As I delve into the depths of JavaScript by reading The Definitive Guide, a statement caught my eye: The most straightforward method to form an array is by using an array literal Surprisingly, it then mentions another approach: An alternate way to g ...

Tips for handling data strings using axios

In my node.js project, I am following a manual and attempting to display data obtained from jsonplaceholder app.get('/posts', async (req, res) => { const response = await axios.get('https://jsonplaceholder.typicode.com/posts'); ...

Leveraging the power of Javascript and Firebase within the Angular framework

When attempting to integrate Firebase with Angular, I encountered an issue where my localhost was not able to function properly with my JavaScript code. The strange thing is that everything works fine when the code is placed directly in the index.html file ...

What is the correct way to specify a property for a Type within a function component? Issue TS2339 encountered

Looking at the code provided below, we can see an implementation in React that works well in JS/JSX but encounters errors when using TypeScript. import React, { useContext, useReducer, useEffect, } from 'react'; const AppContext = React.createC ...

What is the best way to retrieve the innerHTML content from several Quill instances that share the same class identifier?

I have successfully implemented multiple Quill text editor instances on a single page. However, I am now facing a challenge in retrieving the innerHTML of each instance. When creating a single instance and assigning its innerHTML to a hidden input field, I ...

Ensure the video plays automatically without being muted

<div class="tab-img"> <video id="autplay-video" width="320" height="240" controls autoplay poster="https://solax-prod.s3.amazonaws.com/demo/Thumbnail+English-SOLAx+Video.jpg& ...

What are alternative ways to add an HTML snippet to an existing file without relying on jQuery?

Is it possible to inject the entire content of an HTML file, including all tags, into a specific div using only JavaScript? Alternatively, would it be necessary to append each element individually and create a function for this purpose? ...

What is the method to access a form using jQuery? How can I extract the percentage symbol "%" from the entered amount?

I am working on developing a fee calculator using jQuery. In order to achieve this, I need to access forms. Here is the code I have so far: <form id="fee"> <input type="text" title="fee" placeholder="Place the amount that you would like to se ...

Problems with Arrays in Google Apps Script

I'm currently developing an apps script that loads XML data into a function and parses it based on user input. The XML structure is fairly simple: <?xml version="1.0" encoding="UTF-8"?> <Records> <Record> <username&g ...

What is the best way to adjust the maximum width of Reddit's embedded comment iframe?

Reddit provides a code that can be embedded to display their comments on a website, As an example: <div class="reddit-embed" data-embed-media="www.redditmedia.com" data-embed-parent="false" data-embed-live="false" data-embed-uuid="24a3e666-f855-4664 ...

Omit specific module from a webpack 4 chunk

Is there a way to exclude a specific module from being included in a chunk using webpack 4? For example, let's say I do not want lodash to be included in the vendor file at all costs. How can this be achieved? Here is the current configuration: spli ...

The webpack-dev-server is displaying an error message, stating "Unable to access /"

I've been troubleshooting my webpack-dev-server setup, but I keep encountering the "Cannot Get /" error in the browser. Despite looking through similar questions with the same issue, none of the solutions have worked for me so far. So, here's hop ...

Before I press enter, what kind of function is evaluated by the Node.JS REPL?

It's interesting how in the Node.JS REPL, the result of the current expression sometimes gets evaluated before hitting enter, which raises questions. I find it puzzling: How does Node.JS determine if I intended to evaluate it or not? Simple calculati ...

An error occurred with Next.js and Lottie where the property "completed" could not be added because the object

Encountering an issue with Lottie's animation. Attempting to retrieve a JSON file (Lottie Animation) from Contentful and display it using the Lottie Component. However, facing an error message: "TypeError: Cannot add property completed, the object is ...