Store a distinct identifier as an object within a JavaScript collection

I am attempting to save a key as an object in JavaScript by using the Map collection:


let tempEntry = {y:y, x:x}
let exist = map1.has(tempEntry);

if(exist){
    map1.set(tempEntry, true)
} else {
    map1.set(tempEntry, false)
}

However, I am facing an issue where it cannot find the key and always returns exist as false. I have a list where I also take the x and y values and put them in the tempEntry variable.

What I aim to accomplish is to create a list of objects with the format key: {y:y, x:x}, value: true/false.

Does anyone have an alternate method to achieve this?

Answer №1

Map#has function checks if the object reference is the same.

If there is another object with the same keys and values, it will not be considered the original object.

var x = 4,
    y = 4,
    tempEntry = { y, x },
    map1 = new Map;

map1.set(tempEntry, map1.has(tempEntry));
console.log([...map1]);

map1.set(tempEntry, map1.has(tempEntry)); // returns true
console.log([...map1]);

tempEntry = { y, x };

map1.set(tempEntry, map1.has(tempEntry)); // a new object
console.log([...map1]);
.as-console-wrapper { max-height: 100% !important; top: 0; }

A possible solution could involve serializing the object into a string, as long as the order of the keys remains the same.

var x = 4,
    y = 4,
    tempEntry = JSON.stringify({ y, x }),
    map1 = new Map;

map1.set(tempEntry, map1.has(tempEntry));
console.log([...map1]);

tempEntry = JSON.stringify({ y, x });

map1.set(tempEntry, map1.has(tempEntry)); // same object
console.log([...map1]);
.as-console-wrapper { max-height: 100% !important; top: 0; }

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

"Exploring the use of jQuery to access dynamic CSS properties such as :before and implementing filter

I am facing an issue with jQuery and CSS. Below is the code snippet: $("#test").append($("<div>",{ style:"width:48%; margin-left:1%; margin-right:1%; margin-bottom:10px; float:left; background-image:url(http://test.png); filter:brigh ...

Sending a Javascript object to PHP for decoding as JSON can be accomplished by

After searching through numerous similar posts without success, I am still struggling to get this dynamic 2-dimensional JavaScript object to work. My goal is to pass it to PHP in order to insert it into a MySQL table. Utilizing an Ajax post seems to be the ...

Unable to start node.js server to upload file in node with express and multer

As a novice in the realm of node.js, I am attempting to create a website using Express, allowing me to upload various content. The server is currently set up locally on my Mac. Below is the code that I have written: server.js var express = require(&apos ...

Application with Single Page design has a Large DOM, leading to sluggish performance

I've been working on a single page application that heavily relies on widgets like grids and tabs from the jqWidgets library. These widgets are all loaded when the page is first opened. However, I've noticed that after interacting with the site f ...

Is it possible to assign a deconstructed array to a variable and then further deconstruct it?

Is there a way to deconstruct an array, assign it to a variable, and then pass the value to another deconstructed variable all in one line of code? Take a look at what I want to achieve below: const { prop } = [a] = chips.filter(x => x.id == 1); Typic ...

What is the most effective way to obtain a customer's latitude and location by prompting them to drop a pin on Google Maps?

My Android app has an API, but on my website I'm wondering how I can retrieve a person's location by having them place a marker on a Google Map. Is there a standard method for this? I need to obtain the latitude and longitude coordinates and send ...

Using Ajax to return a Post type in c# mvc 4 instead of a value

Hey there, I seem to be encountering an issue that I could use some help with. $.ajax({ type: "POST", url: "/controller/CreateList", contentType: "application/json; charset=utf-8", traditional: true, ...

Three divs are set in place, with two of them of fixed width while the third div is

Looking for a layout with specific positioning and fixed widths: One box on the left, one box on the right, each with a width of 200px. The middle div should adjust to take up the remaining space. Any suggestions are appreciated. Thank you! ...

Sorting functionality malfunctioning after dynamically adding new content using AJAX

Greetings to all, I have a question about my views. 1- Index 2- Edit In the index view, I have a button and AJAX functionality. When I click the button, it passes an ID to the controller which returns a view that I then append to a div. The Edit view con ...

Implement dynamic routes within your Nuxt single page application once it has been generated

I'm currently exploring the possibility of implementing dynamic routes in a Nuxt SPA. While I am familiar with using dynamic routes in Universal Mode and generating them during build time through functions, I am searching for a solution that does not ...

The not:first-child selector targets all elements except for the first one in the sequence

This is a simple js gallery. I am using not:first-child to display only one photo when the page is loaded. However, it does not hide the other photos. You can view the gallery at this link: (please note that some photos are +18). My objective is to hide ...

Setting up Karma configuration to specifically exclude nested directories

When unit testing my Angular 2 application using Karma, I encountered an issue with my directory structure: └── src/ ├── index.js ├── index.js.text ├── index.test.js ├── README.txt ├── startuptest.js ...

Sending an Ajax request using a dropdown menu

I'm having trouble retrieving a value from my database when a select option is chosen. The select options are generated dynamically from the same database. As a beginner in AJAX requests, I am struggling to figure out why I am only getting a blank re ...

The @mouse-down event in Vue does not seem to be firing

I'm new to web development and I'm having some issues with Vue. I learned from a tutorial that I can use @click when a button is pressed, and it works fine. Now I want to create a simple mechanism to detect when the mouse is clicked and released ...

Issue encountered while validating password using regex pattern?

There seems to be an issue with password validation when requiring 1 upper case, 1 lower case, 1 number, and 1 special character. methods: { validateBeforeSubmit() { this.$validator.localize('en', dict) this.$validator.validate ...

What is the method with the greatest specificity for applying styles: CSS or JS?

When writing code like the example below: document.querySelector('input[type=text]').addEventListener('focus', function() { document.querySelector('#deletebutton').style.display = 'none' }) input[type=text]:focu ...

Data binding in AngularJS allows for easy synchronization between the model and the view

I've been working on a simple AngularJS application that includes a form with two fields. However, I've run into an issue where I'm unable to read the values entered in these fields from my controller, as I keep getting 'undefined' ...

Using Angular directives to dynamically add event listeners with the ng-repeat directive

I am currently working with a directive that includes event listeners for an element in the link function. For example: ... link: function(scope, element) { // this gives us the native JS object var el = element[0]; el.draggable = true; ...

Node.js - Issue with res.json function: inconsistency across different routes

Currently working with the MERN stack (Mongo, Express, React, Node) and encountering an issue in my API. Here is a snippet from my plaid.js file where one of my routes is causing an error. I have omitted any sensitive information such as secret tokens, bu ...

Navigating through the URL using an AJAX request with jQuery

After seeking assistance on how to loop through data in a json file from an asynchronous AJAX call in jquery using callback functions (Looping through AJAX and callbacks in jquery), I received valuable help. Now, I am curious about the possibility of loo ...