let aaa = [{ a: 1, b: { c: 3, d: 4 }, e: 5 },
{ a: 1, e: 5 },
{ a: 1, e: 6 }]
let x = _.map(aaa, item => {
if (!!item.b && !_.isEmpty(item.b)) {
return _.assign({}, item, item.b)
} else {
return item
}
})
console.log('x', x)
x = [{a: 1, b: { c: 3, d: 4 }, e: 5, c: 3, d: 4},
{ a: 1, e: 5 },
{ a: 1, e: 6 }]
let aaa = [{ a: xxx, b: 01 }, { a: yyy, b: 02 }]
let bbbArr = _.map(aaa , item => {
let obj = {}
obj['a_' + item.b] = item.a
return obj
})
console.log(bbbArr )
结果:[{ xxx_01: xxx }, { yyy_02: yyy }]
let bbbArr = {}
_.map(aaa , item => {
bbbArr [item.a] = [item.b]
})
console.log(bbbArr )
{ xxx:[01], yyy:[02] }
对象数组变对象
let aaa = [{ a: 1 }, { b: 2 }]
let bbb = {}
_.map(aaa, item => {
return _.assign(bbb, item)
})
console.log(bbb)```
结果:{a: 1, b: 2}
_.assign( this.state.formData,{
RegistrationNo: PatientRegistrationNumber,
PatientName,
GenderCode,
IdCardTypeCode,
NationalityCode,
IdCard,
BirthDate,
OuthospitalAge: _.isEmpty(BirthDate) ? ‘’ : moment().diff(moment(BirthDate), ‘years’),
DiagnosisCode: DiseaseCode
})
**1、
_.assign(object, [sources])**
分配来源对象的可枚举属性到目标对象上。 来源对象的应用规则是从左到右,随后的下一个对象的属性会覆盖上一个对象的属性
参数
object (Object): 目标对象。
[sources] (…Object): 来源对象。
返回
(Object): 返回 object.
例子
function Foo() {
this.a = 1;
}
function Bar() {
this.c = 3;
}
Foo.prototype.b = 2;
Bar.prototype.d = 4;
_.assign({ ‘a’: 0 }, new Foo, new Bar);
// => { ‘a’: 1, ‘c’: 3 }
**2、
_.isEmpty(value)**
检查 value 是否为一个空对象,集合,映射或者set。 判断的依据是除非是有枚举属性的对象,length 大于 0 的 arguments object, array, string 或类jquery选择器。
对象如果被认为为空,那么他们没有自己的可枚举属性的对象。
类数组值,比如 arguments对象,array,buffer,string或者类jQuery集合的length 为 0,被认为是空。类似的,map(映射)和set 的size 为 0,被认为是空。
参数
value (*): 要检查的值。
返回
(boolean): 如果 value 为空,那么返回 true,否则返回 false。
例子
_.isEmpty(null);
// => true
_.isEmpty(true);
// => true
_.isEmpty(1);
// => true
_.isEmpty([1, 2, 3]);
// => false
_.isEmpty({ ‘a’: 1 });
// => false
**3、moment**
取当天时间,以 YYYY-MM-DD 形式显示
初始化日期:moment().format('YYYY-MM-DD');
格式化日期:moment(value).format('YYYY-MM-DD');