Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Question: Comparing Distinct Arrays of Objects

未關閉
#258 5 則留言 2 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
5/5
預估耗時
一週以上
新手友好度
20/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
javascript
領域
backend

研究方向

未指定檔案或測試進入點。首先檢查與陣列路徑求值相關的規則條件和運算子註冊表;使用提供的兩個 facts 範例,將完成定義為同一物件比對:第一個回傳 false,第二個回傳 true。

由索引模型根據 Issue 內容生成。

描述

Hello,

I am trying to compare an array of objects to check for a specific set of objects to be present in any of them, but not across all of them, specifically lets take this rule:

const arrayRule = {
        conditions: {
            any: [
                {
                    all: [
                        {
                            fact: 'data',
                            path: '$.[*].equalityTest',
                            operator: 'equal',
                            value: 50,
                        },
                        {
                            fact: 'data',
                            path: '$.[*].anotherTest',
                            operator: 'equal',
                            value: 50,
                        },
                    ],
                },
            ],
        },
        event: {
            type: 'arrayRule',
        },
    };

This is the first iteration of the rule I came up with, it is incorrect, but I wanted to give an idea of what I am aiming for.

Specifically here, we have a rule where I want equalityTest to equal 50 and anotherTest to also equal 50. But I want them to equal those values in the same object, such that:
THIS SHOULD RETURN FALSE

 const facts = {
                data: [
                    {
                        anotherIntegerFact: 1,
                        equalityTest: 50,
                    },
                    {
                        anotherIntegerFact: 50,
                        equalityTest: 40,
                    },
                ],
            };

THIS SHOULD RETURN TRUE

 const facts = {
                data: [
                    {
                        anotherIntegerFact: 50,
                        equalityTest: 50,
                    },
                    {
                        anotherIntegerFact: 40,
                        equalityTest: 40,
                    },
                ],
            };

Would love any suggestions or ideas on a way to tackle this. One thought was I could write my own operator and add it to the registry of operators on our end, but before I did so, I wanted to validate that is needed.

Thanks

主要語言
JavaScript
星號
3.1k
分支
507
PR 合併指標
30 天內沒有已合併 PR

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

CacheControl/json-rules-engine 的其他 Issue

查看 CacheControl/json-rules-engine 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。