Verify if an element from one object is present in another object (using underscore library)

I am attempting to use underscore to compare two objects, specifically focusing on comparing the key/value pairs of "id" (as other elements within may change). My goal is to identify if object A contains an item that object B does not have, and then remove it from object A. Below is my current approach:

for(var c=0;c<$scope.types.length;c++){
    var real = _.some($scope.storeTempName, function(it) {
        return it.id == $scope.types[c].typeId; 
    });
    if(real){
    }else{  
        $scope.types.splice(c,1);
    }
}

In this code snippet, $scope.storeTempName represents object B and $scope.types represents object A. Therefore, if $scope.types includes something that is not present in $scope.storeTempName, it should be removed (matching by id and typeId values for types).

While this initial method works, it only removes the first occurrence. I suspect this could be due to iterating from index 0 onwards and the changing indices when removing the first item. I am uncertain about this observation and would appreciate some guidance. Thank you for your assistance!

Answer №1

To solve this, utilize the _.filter method.

$scope.categories = _.filter($scope.categories, function (category) {
    return _.some($scope.productNames, function (item) { return item.id == category.categoryId })
})

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 there someone who can assist me in transforming this constructor function into a factory function using Javascript?

const createAppError = (message, status) => { return { message, status }; }; This is the equivalent code using factory functions to create an AppError with a message and status. It achieves the same result as the constructor fun ...

React Native query: What could be causing the inability to pass parameters (props) to my screen when utilizing stack navigator?

App.js const Stack = createNativeStackNavigator(); export default function App() { return ( <Provider store={store}> <NavigationContainer> <Stack.Navigator initialRouteName="Main"> <Stack.Screen ...

What is the best way to retrieve all the listed TV and film ratings in descending order? Using Django

Our Goal I aim to organize movies based on their star ratings and filter out those with ratings lower than a specified threshold. 2. Retrieve the IDs of Movies and TV shows mentioned in the view, fetch the data and score through URLs one by one. 3. Presen ...

Utilizing the power of HTML datalist and *ngFor to present one value while sending another

I am currently working on a project that involves creating an autocomplete text box using the <datalist> tag with *ngFor functionality. However, the code I am using is showing both the value declared with [value] and the input between the <option& ...

Implementing JSON response in email functionality using Ajax and PHP

I've encountered a problem with my contact form. I'm receiving error messages for invalid email and incomplete fields, but I'm not getting a success message. As a result, the email is being sent twice without any confirmation message (I&apos ...

Using Node.js to save a typed array to a file系统, 读/写 typed

I am working with a typed array that contains the values Uint16Array(2) [ 60891, 11722 ]. My goal is to save this array to a binary file and then retrieve it while preserving the order of the elements. Despite my attempts using the fs module, I have encou ...

Extract data from a JSON object sent from an Angular frontend and process it in a C# ASP.Net

Having trouble creating a new Salesman with Angular and C#. I am collecting user input data in an array (newData) from my Angular controller and sending it to my C# server-side controller through a service. However, I am encountering errors and unable to r ...

How come certain rectangles vanish when one rectangle completely fills the space?

Currently, I am encountering an issue with CSS paint worklet and I am trying to determine if it's a browser bug or an error on my end. In the worklet, I am drawing multiple rectangles. Strangely, when one rectangle covers the entire area, the others s ...

Load content from a remote page using AJAX into a JavaScript variable

Looking to retrieve a short string from a server without direct access to the data in XML or JSON format. Utilizing either .load or .ajax for this purpose, with the intention of parsing the data into a JavaScript array. The target page contains only text c ...

React does not display newly updated states when they are modified

React does not trigger a re-render on the screen when updating the state and the useEffect hook is not invoked either. https://i.sstatic.net/YsA22.gif After clicking the "change" button, React fails to update with the new values and the useEffect hook re ...

How do I create a clean HTML file when using the email editor with TinyMCE?

I was able to develop my own email editor, inspired by this particular example. To enhance user experience, I included a download button at the end of the file so that users can easily retrieve their edited content. The issue I'm facing is that tinym ...

Organize a list in AngularJS by breaking it down based on its headers and displaying them in

As someone who is new to angularJs, I am looking to convert an app to angularJs but I have encountered a roadblock: The custom accordion markup I am working with is as follows: <div class="accord_main_wrap" ng-controller="catController"> <di ...

What is the best way to create dynamic transparency based on cursor position?

Is there a way to create an animation like the one on https://meetwalter.com, where the transparency changes with the cursor's position? I previously attempted a similar implementation using CSS, but it seems that the website accomplishes this effect ...

What is the best way to extract a CSS rule using PHP?

Below is an example of the stylesheet I am currently using: #thing { display: none; } I am looking to retrieve the value of the 'display' property using PHP instead of Javascript. While I know how to do this with Javascript, I would prefer to u ...

Is there a way to show all the items within a specific folder simply by clicking on the folder's name?

When a folder name is clicked, I would like to display all images from that particular folder. Currently, the code displays the list of folder structure and images separately, but my goal is to show the images only when the folder name is clicked. List of ...

Issues with Videojs Responsive Lightbox Functionality

I am looking for a solution to display VideoJS in a lightbox while keeping it responsive. I came across this helpful code snippet: https://github.com/rudkovskyi/videojs_popup. It seemed perfect until I tried using it with the latest version of Videojs and ...

Sending an array as a query string

I am trying to send an array to my server using jsonp. Here is an example of the JSON I want to pass: ["something","another_thing",4,{"iam" : "anobject"}] However, I am unsure about how to actually pass an array. I thought it might work like this: some ...

employing variable in front of json notation

For my github-gist project, I am using JavaScript and AJAX to customize the file name. Here is the JSON data I am working with: var data = { "description": gist_description, "public": true, "files": { "file.txt" : { "content": gist_conten ...

The loading of JavaScript takes place before the deployment of server-side images

Below is the Javascript code snippet: <%-- script to load the default image--%> <script type="text/javascript"><!-- window.addEventListener('load', function () { // Get the canvas element. var elem = document.g ...

I need to retrieve a date value within a function

When using the input type = date, I am trying to retrieve the selected date value in a function. Here is my code: <input style='display:none;' type='date' value='<?php echo date(Y-m-d);?>' name='date' id ...