8000 just-intersect is mixing array and strings · Issue #572 · angus-c/just · GitHub
[go: up one dir, main page]

Skip to content

just-intersect is mixing array and strings #572

Open

Description

@Nikaple
const intersect = require('just-intersect')

intersect([1, "2", 5, 6], [2, 3, 5, 6]); // ["2", 5, 6]

lodash.intersection gives [5, 6] on such cases.

Activity

  1. uncenter commented on Jan 3, 2024

    @uncenter

    Looks like the issue is that the current implementation creates objects where the items of the arrays are the properties, which causes the behavior you explained since items are casted to strings (https://github.com/angus-c/just/blob/master/packages/array-intersect/index.mjs#L35); e.g. [2, 3, 5, 6] becomes { '2': true, '3': true, '5': true, '6': true }, so then checking if "2" is a property of that object results in that issue.

  2. Nikaple commented on Jan 3, 2024

    @Nikaple
    Author

    Yeah, there's some workaround and I'm using a set-based method which is O(n). Just curious if the library author is willing to fix this, as it's a breaking change.

  3. uncenter commented on Jan 3, 2024

    @uncenter

    The author hasn't been active since last May unfortunately. I'm also eagerly awaiting their return ahah.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0