javascript - Lodash _.result() 默认值

标签 javascript lodash

为什么 lodash 没有 result方法在这种情况下返回默认值?

Arguments object (Object): The object to query.

key (string): The key of the property to resolve.

[defaultValue] (*): The value returned if the property value resolves to undefined.

var result = _.result({ foo: 1 }, 'bar', 'default');

console.log(typeof _.result({ foo: 1 }, 'bar') === 'undefined') // true

console.log(result); // expected: 'default'

http://jsfiddle.net/dbvs5ney/

最佳答案

default参数好像是3.0.0版本才加入的
比较_.result实现:
3.0.0 lodash.js

function result(object, key, defaultValue) {
  var value = object == null ? undefined : object[key];
  if (typeof value == 'undefined') {
    value = defaultValue;
  }
  return isFunction(value) ? value.call(object) : value;
}

2.2.1 lodash.js :

function result(object, property) {
  if (object) {
    var value = object[property];
    return isFunction(value) ? object[property]() : value;
  }
}

关于javascript - Lodash _.result() 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28477363/

相关文章:

javascript - 无法仅从通过 php 页面获取的 json 数据返回用户名

Javascript:格式化数字的更简单方法?

javascript - react 商务 : TypeError: require(. ..).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 未定义

javascript - 如何根据数组内部数组的值过滤数组?

javascript - 使用 Lodash 省略嵌套属性

javascript - 如何在不重复代码的情况下显示2个相同的 Highcharts

javascript - Sinon - 返回不是函数

npm audit fix 未修复低漏洞

typescript 你导入 `lodash` 与 `es2015` 模块?

javascript - 找不到 Ruby 数组的 lodash.pull 函数