set-value 开源项目教程

set-value 开源项目教程

set-valueSet nested properties on an object using dot-notation.项目地址:https://gitcode.com/gh_mirrors/se/set-value

1. 项目的目录结构及介绍

set-value/
├── LICENSE
├── README.md
├── index.js
├── package.json
└── test/
    ├── index.js
    └── utils.js
  • LICENSE: 项目的许可证文件。
  • README.md: 项目的说明文档。
  • index.js: 项目的主文件,包含了 set-value 的核心功能。
  • package.json: 项目的配置文件,包含了项目的依赖、脚本等信息。
  • test/: 测试目录,包含了项目的测试文件。

2. 项目的启动文件介绍

项目的启动文件是 index.js,它包含了 set-value 的核心功能。以下是 index.js 的部分代码示例:

'use strict';

var isPlainObject = require('is-plain-object');
var isObject = require('isobject');
var isIndex = require('is-index');
var get = require('get-value');
var merge = require('mixin-deep');

module.exports = function setValue(obj, path, value) {
  if (!isObject(obj)) {
    return obj;
  }

  var keys = Array.isArray(path) ? path : path.split('.');
  var len = keys.length;
  var last = len - 1;
  var i = 0;
  var target = obj;

  while (i < len) {
    var key = keys[i++];
    if (i === last) {
      target[key] = value;
    } else {
      var val = target[key];
      if (!isObject(val)) {
        target[key] = isIndex(keys[i]) ? [] : {};
      }
      target = target[key];
    }
  }

  return obj;
};

3. 项目的配置文件介绍

项目的配置文件是 package.json,它包含了项目的依赖、脚本等信息。以下是 package.json 的部分内容示例:

{
  "name": "set-value",
  "description": "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.",
  "version": "4.0.1",
  "homepage": "https://github.com/jonschlinkert/set-value",
  "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
  "repository": "jonschlinkert/set-value",
  "bugs": {
    "url": "https://github.com/jonschlinkert/set-value/issues"
  },
  "license": "MIT",
  "files": [
    "index.js"
  ],
  "main": "index.js",
  "engines": {
    "node": ">=10"
  },
  "scripts": {
    "test": "mocha"
  },
  "dependencies": {
    "is-plain-object": "^5.0.0",
    "isobject": "^4.0.0",
    "is-index": "^2.0.0",
    "get-value": "^3.0.1",
    "mixin-deep": "^2.0.1"
  },
  "devDependencies": {
    "mocha": "^8.2.1"
  },
  "keywords": [
    "dot",
    "get",
    "notation",
    "object",
    "path",
    "set",
    "value"
  ]
}
  • name: 项目的名称。
  • description: 项目的描述。
  • version: 项目的版本。
  • homepage: 项目的主页。
  • author: 项目的作者。
  • repository: 项目的仓库地址。
  • bugs: 项目的 Bug 跟踪地址。
  • license: 项目的许可证。
  • files: 项目包含的文件。
  • main: 项目的入口文件。
  • engines: 项目支持的 Node.js 版本。
  • scripts: 项目的脚本命令。
  • dependencies: 项目的依赖包。
  • devDependencies: 项目的开发依赖包。
  • keywords: 项目的关键

set-valueSet nested properties on an object using dot-notation.项目地址:https://gitcode.com/gh_mirrors/se/set-value

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋玥多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值