Using fill and Map to refine an array

I'm facing an issue where a value of 0 is being added to the newArray as an Object, which I don't want. How can I resolve this?

modus = {start: -1, end: 0}

Output newArray:

0: {value: -1, label: -1} 1: {value: 0, label: 0}
I need the Output newArray to exclude {value: 0, label: 0}

const getOptions = (modus) => {
    console.log(modus.range.end + ' ' + modus.range.start)
    let data;
    if (modus.range.end < 0.00 ) {
        data = Array(modus.range.start - modus.range.end + 1).fill('').map((_, idx) => modus.range.end + idx)
    } else {
        data = Array(modus.range.end - modus.range.start + 1).fill('').map((_, idx) => modus.range.start + idx)
    }
    const newArray = data.map(item => ({ value: item, label: item }));
    return newArray
}

Answer №1

Removing zero values can enhance the data.

const
    modifyObject = item => ({ value: item, label: item }),
    createOptions = ({ range: { start, end } }) => {
        [start, end] = [Math.min(start, end), Math.max(start, end)];
        const hasZero = start <= 0 && end >= 0;

        console.log(start, end, hasZero);
        return Array.from(
            { length: end - start + !hasZero },
            _ => modifyObject(start++ || start++)
        );
    }

console.log(createOptions({ range: { start: 0, end: -1 } }));
console.log(createOptions({ range: { start: -1, end: 0 } }));
console.log(createOptions({ range: { start: -3, end: 3 } }));
console.log(createOptions({ range: { start: 2, end: 5 } }));
.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

Adding a fresh HTML element with jQuery

My friend and I are currently working on a userscript for a website but have hit a roadblock. Our goal is to add a script from the site's shoutbox to display names on the right-hand side so that users can "@" mention others with their names. The scri ...

Scope variable changes are not being acknowledged by the directive

Here is a directive I am working with: <span ng-show="{{ save_state == 'saved' }}"> Saved </span> <span ng-show="{{ save_state == 'saving' }}"> Saving </span> <span ng-show="{{ save_state == 'error ...

How can we convert milliseconds to the corresponding date and time zone in Java?

1)I am trying to determine the user's timezone and current time using the following code snippets: Calendar currentdate1 = Calendar.getInstance(); TimeZone tz = Calendar.getInstance().getTimeZone(); System.out.println("time zone"+tz); System.out.pri ...

Steer clear of receiving null values from asynchronous requests running in the background

When a user logs in, I have a request that retrieves a large dataset which takes around 15 seconds to return. My goal is to make this request upon login so that when the user navigates to the page where this data is loaded, they can either see it instantly ...

Ways to add a value to an Array within the State

Currently in the process of developing a form for creating blog posts that requires an input field with the name tags, which is meant to be an array in the state. To populate the array, I am utilizing the .push method to add my inputs to an initially empt ...

What could be causing the CSS to not display properly on specific routes?

I'm facing an issue where CSS seems to be working fine for certain routes with node.js & express, but not for others. It's puzzling because the HTML file links to the same CSS file in both cases. For instance, CSS works perfectly for the route " ...

Guide to uploading a file and interpreting an XML response in Internet Explorer 7

After developing a web application that sends files via HTTP to a RESTful web service, I encountered an issue with Internet Explorer 7. The problem arises when the web service responds with a 400 or 403 error code - rather than displaying the expected resp ...

Utilizing a combination of PHP and jQuery, certain checkbox options were dynamically deactivated

<input type="checkbox" name="pref[]" value="red//fuji" />Fuji <input type="checkbox" name="pref[]" value="red//pinklady" />Pink Lady <input type="checkbox" name="pref[]" value="red//reddelicious" />Red Delicious <input type="checkbox" ...

Dealing with interstitial advertisements on mobile devices: What is the best approach for handling zoom?

I am facing a challenge with displaying interstitial ads on mobile sites. Different publishers may have varying viewport settings and initial scales on their mobile sites, making it difficult to ensure that the ad appears correctly on all devices with the ...

Customize the appearance of alert boxes in ajax requests

Is there a way to customize the default ajax alert box? I currently have code that deletes a user and reloads the current page. It functions properly, but I want to enhance the styling of the alert box that appears before the user is deleted. function d ...

Modify x and y axes in highcharts for stacked columns

Can anyone assist me in finding charts similar to the one shown below? I am interested in utilizing the stacked column charts provided by the highcharts library. However, I need to modify the presentation of the data values as demonstrated in the image. I ...

What is the best way to collapse a button in asp.net using javascript after setting it to hidden?

I have a scenario where I have 3 buttons in a row on my asp.net page. Using JavaScript, I am setting the middle button (ButtonSR) to invisible. However, I want the button below it to move up and take its place instead of leaving an empty space. ...

The "loose" mode is not resolving the issue with the lack of support for the experimental syntax 'classProperties' that is currently disabled

Error Message: The experimental syntax 'classProperties' is currently not enabled Even after trying the suggested solutions, I still encounter the error during re-building. Click here for more information on the experimental syntax 'classP ...

Establish an HttpOnly cookie using JavaScript

Is it possible to convert a non-HttpOnly cookie into an HttpOnly cookie using JavaScript? ...

What is the best way to transfer information from a client to a server using Meteor?

I am currently developing an application and have encountered an issue. I have an HTML page located in the './public' folder. Within the './public/js' directory, there is a script that gathers data after a form is submitted on this page ...

Utilize the fitBounds feature from GoogleMaps in Vuejs for seamless integration

I've been working on getting the map boundaries to work properly, using a method in conjunction with my existing initMap and askGeolocation methods. Despite my best efforts, I can't seem to get the bounds functionality working so that the map zo ...

Troubleshooting Material-UI Menus

I need the menu to adjust its height dynamically as the content of the page increases vertically. Even though I have applied "height:100%" in the styles, it doesn't seem to work. Can anyone assist with this issue? Here is the code snippet: import R ...

Filter an array containing nested objects based on dynamically determined properties

I'm working with an array of N objects and need to create a filter using JSON.stringify that dynamically checks multiple properties. Looking for a solution that is dynamic and doesn't rely on static properties (as shown in the code snippet above ...

Instructions for running a script from a personalized NPM package

I have developed a unique NPM package that includes a script I want to run from another project. Here is an overview of my package: myScript.js console.log("The script has been executed!"); package.json { "name": "@myscope/my-script", "version": "0. ...

Issue encountered while trying to set a property in ECMAScript 6

I am attempting to create a class in ecmascript 6. Below is the code: class Machine { constructor (){ this._context = null; } get context (){ return this._context; } set context (context){ this._context = context; } ...