Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用lodash获取对象的子集';将值设置为管道分隔字符串_Javascript_Lodash - Fatal编程技术网

Javascript 使用lodash获取对象的子集';将值设置为管道分隔字符串

Javascript 使用lodash获取对象的子集';将值设置为管道分隔字符串,javascript,lodash,Javascript,Lodash,我尝试使用Lodash来获取对象的值,不包括几个字段。假设我们得到以下对象: var x = { id: 0, // <-- id is excluded from output a: 1, b: 2, c: 3 }; 本例的预期结果是1 | 2 | 3 我正在寻找一种不那么冗长的方式来处理这件事。当然,Lodash有一种更直接的方法来获取对象的值,而不是几个?我在不到5分钟前写了上面的代码,我已经发现它让人很困惑 最后一步,即我们选择值的步骤,是否可以

我尝试使用Lodash来获取对象的值,不包括几个字段。假设我们得到以下对象:

var x = {
    id: 0,  // <-- id is excluded from output
    a: 1,
    b: 2,
    c: 3
};
本例的预期结果是
1 | 2 | 3

我正在寻找一种不那么冗长的方式来处理这件事。当然,Lodash有一种更直接的方法来获取对象的值,而不是几个?我在不到5分钟前写了上面的代码,我已经发现它让人很困惑


最后一步,即我们选择值的步骤,是否可以组合到
链中
表达式中?有没有一种简洁、更直接的方法来实现这一点?

您可以使用lodash功能:


这正是我要找的东西。这是它的链式形式:
\ux.omit('id').values().join('124;')
var keys_i_want = _
    .chain(x)
    .keys()
    .filter(x=> x !== "id")
    .value();

var result = _.values(_.pick(x, keys_i_want)).join("|");  // --> '1|2|3'
var withoutId = _.omit(x, ['id']);
var result = _.values(withoutId).join('|'); // ---> '1|2|3'