awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ramda avatar

ramda/ramda

0
View on GitHub↗
24,072 星标·1,432 分支·JavaScript·MIT·8 次浏览ramdajs.com↗

Ramda

Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It provides a comprehensive suite of pure utility functions designed to enable declarative data processing pipelines.

The library is distinguished by its use of automatic function currying and a data-last argument order. These design patterns allow multi-argument functions to be partially applied, simplifying the construction of processing chains where data is passed through a sequence of operations.

The toolkit covers broad data manipulation capabilities, including list processing, complex object transformations such as flattening and renaming keys, and tabular data pivoting. It also supports relational operations like SQL-style object joins and numerical range scaling.

The project provides tree-shakable module exports to facilitate bundle size optimization and dead code elimination.

Features

  • Functional Programming - Serves as a comprehensive library for declarative data transformation and functional programming patterns in JavaScript.
  • Immutable Data Structures - Ensures data structures are transformed without mutation to prevent side effects in application state.
  • Object Utilities - Provides tools for deep-merging, flattening, and querying complex JavaScript objects.
  • Argument Reordering - Uses a data-last argument order to optimize utility functions for chaining and functional composition.
  • Functional Utility Libraries - Offers a specialized collection of functional programming primitives and collection manipulation tools.
  • Functional - Implements functional paradigms that produce new data structures instead of mutating existing ones.
  • Function Currying - Implements automatic function currying to allow partial application of multi-argument utility functions.
  • Functional Data Pipelines - Enables the construction of sequences that transform data using immutable functions and declarative logic.
  • Data-Last Argument Structuring - Implements a data-last argument order to facilitate easier function composition and partial application.
  • Functional Pipelines - Provides patterns for chaining data transformations using pure, side-effect-free functions.
  • Function Composition - Merges multiple small, pure functions into a single composite operation for immutable processing.
  • Data Joins - Implements SQL-style inner, outer, left, and right joins to combine lists of objects.
  • Key Renaming - Renames object keys using mapping objects or transformation functions.
  • Index-Based Extraction - Extracts specific elements from lists using a provided set of index positions.
  • Overlap Detection - Checks for overlapping elements between multiple lists to identify common items.
  • Quantile Division - Splits sorted lists into equal-sized groups based on a custom comparator.
  • Object Flattening - Converts deeply nested objects into flat structures using dot-separated keys.
  • Predicate Property Filtering - Removes object properties based on a predicate function evaluating keys and values.
  • Identifier-Based Lookups - Locates specific objects within lists using unique identifiers.
  • Pivot Table Aggregators - Transforms lists of key-value pairs into pivoted table formats to reorganize data.
  • Table Unpivoting - Converts pivoted tables back into normalized lists of attribute-value pairs.
  • Bundle Size Optimization - Allows for the creation of custom builds containing only required utilities to minimize final bundle size.
  • Dead Code Elimination - Supports the removal of unused code from production bundles through tree-shaking and partial builds.
  • JavaScript Utility Libraries - Extends JavaScript capabilities with a comprehensive set of helper functions for common programming tasks.
  • Numerical Range Scaling - Transforms numerical values from one specific range to another proportionally.
  • Boolean Predicates - Provides higher-order functions that use boolean predicates to filter elements or object properties.
  • Tree-Shakable Architectures - Organizes utility functions as independent exports to enable dead-code elimination via tree-shaking.
  • Data Utilities and Libraries - Practical functional programming library for JavaScript.
  • Functional Programming - Functional utility library focused on composition.
  • Functional Utility Libraries - Practical functional library designed for pipelines and immutability.

Star 历史

ramda/ramda 的 Star 历史图表ramda/ramda 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Ramda 的开源替代方案

相似的开源项目,按与 Ramda 的功能重合度排序。
  • lodash/lodashlodash 的头像

    lodash/lodash

    61,235在 GitHub 上查看↗

    Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions for transforming, filtering, and validating arrays, objects, strings, and numbers. The project functions as a functional programming toolkit, offering capabilities for function composition, currying, and lazy evaluation. It includes mechanisms for execution control, such as debouncing and throttling, to manage the timing and frequency of function invocations. The library covers a broad surface of data operations, including deep cloning and merging of complex nested structures,

    JavaScriptjavascriptlodashmodules
    在 GitHub 上查看↗61,235
  • dry-python/returnsdry-python 的头像

    dry-python/returns

    4,310在 GitHub 上查看↗

    Returns is a functional programming library for Python that provides type-safe containers for managing state, error handling, and optionality. It serves as a monadic container library and a type-safe error handling framework, replacing traditional try-catch blocks and null checks with Result and Optional containers to treat exceptions as data. The project is distinguished by its use of a specialized Mypy static analysis plugin to validate functional pipelines and emulate higher kinded types. It provides mechanisms for isolating side effects through IO containers and offers a framework for typ

    Python
    在 GitHub 上查看↗4,310
  • stdlib-js/stdlibstdlib-js 的头像

    stdlib-js/stdlib

    5,735在 GitHub 上查看↗
    JavaScriptjavascriptjslibrary
    在 GitHub 上查看↗5,735
  • getify/functional-light-jsgetify 的头像

    getify/Functional-Light-JS

    16,763在 GitHub 上查看↗

    Functional-Light-JS is a JavaScript functional programming library designed to implement functional patterns within JavaScript applications. It serves as a toolkit for declarative data processing, immutable data management, and the construction of complex logic through higher-order functions. The library focuses on a pragmatic implementation of functional programming, providing utilities for curried argument application and function composition. It emphasizes the use of pure functions to calculate state updates and manage application data without side effects. The project covers broad capabi

    JavaScript
    在 GitHub 上查看↗16,763
查看 Ramda 的所有 30 个替代方案→

常见问题解答

ramda/ramda 是做什么的?

Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It provides a comprehensive suite of pure utility functions designed to enable declarative data processing pipelines.

ramda/ramda 的主要功能有哪些?

ramda/ramda 的主要功能包括:Functional Programming, Immutable Data Structures, Object Utilities, Argument Reordering, Functional Utility Libraries, Functional, Function Currying, Functional Data Pipelines。

ramda/ramda 有哪些开源替代品?

ramda/ramda 的开源替代品包括: lodash/lodash — Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions… dry-python/returns — Returns is a functional programming library for Python that provides type-safe containers for managing state, error… stdlib-js/stdlib. getify/functional-light-js — Functional-Light-JS is a JavaScript functional programming library designed to implement functional patterns within… ankurp/dollar — Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection… remeda/remeda — Remeda is a type-safe functional utility library for TypeScript designed for building data transformation pipelines.…