Lodash 替换 JS 检查操作以设置值
Lodash replacement for a JS check operation to set value
我一直在使用一些代码来检查数组 index:1 中存在的输入字段的值。如下
const inputValue=journeyData && journeyData.birthdate && journeyData.birthdate[0]
? journeyData.birthdate[0]
: null,
是否有 lodash 替代相同的东西,这使得它写起来很短?
使用原生 optional chaining。不需要 lodash。
const journeyData = { birthdate: [new Date()] };
const inputValue = journeyData?.birthdate?.[0] ?? null;
const inputValue2 = journeyData?.birthdate?.[2] ?? null;
console.log(inputValue);
console.log(inputValue2);
其他文档
您可以使用 _.get()
来指定路径和回退。如果在对象上无法到达路径,您将获得默认值:
function test(journeyData) {
const inputValue = _.get(journeyData, "birthdate[0]", null);
return inputValue;
}
console.log( test() ); // null
console.log( test({}) ); // null
console.log( test({ birthdate: [] }) ); // null
console.log( test({ birthdate: [42] }) ); // 42
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>
我一直在使用一些代码来检查数组 index:1 中存在的输入字段的值。如下
const inputValue=journeyData && journeyData.birthdate && journeyData.birthdate[0]
? journeyData.birthdate[0]
: null,
是否有 lodash 替代相同的东西,这使得它写起来很短?
使用原生 optional chaining。不需要 lodash。
const journeyData = { birthdate: [new Date()] };
const inputValue = journeyData?.birthdate?.[0] ?? null;
const inputValue2 = journeyData?.birthdate?.[2] ?? null;
console.log(inputValue);
console.log(inputValue2);
其他文档
您可以使用 _.get()
来指定路径和回退。如果在对象上无法到达路径,您将获得默认值:
function test(journeyData) {
const inputValue = _.get(journeyData, "birthdate[0]", null);
return inputValue;
}
console.log( test() ); // null
console.log( test({}) ); // null
console.log( test({ birthdate: [] }) ); // null
console.log( test({ birthdate: [42] }) ); // 42
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>