javascript - Lodash 查找并显示当前的 json 数据

标签 javascript lodash

在下面的代码中,“answer”键出现在第二个和第四个对象中,但是当我运行代码时,我只得到第二个对象作为输出。

预期输出是需要显示“答案”的对象

    var users = [{
	"answerLength": "10",
	"isComment": "false",
	"question": "what?",
	"uniqueId": "01"
}, {
	"answerLength": "10",
	"isComment": "false",
	"question": "what?",
	"uniqueId": "aaa",
  "answer": "02"
}, {
	"answerLength": "10",
	"isComment": "false",
	"question": "what?",
	"uniqueId": "03"
}, {
	"answerLength": "10",
	"isComment": "false",
	"question": "what?",
	"uniqueId": "aaa",
  "answer": "04"
}];

function checkAnsExist(){
    var forEach = _.find(users, _.forEach(function(i){ return i.answer}));
    document.write(JSON.stringify(forEach));
}
checkAnsExist();
<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.core.min.js"></script>

最佳答案

您正在寻找的是filter ,而不是查找

    var users = [{
	"answerLength": "10",
	"isComment": "false",
	"question": "what?",
	"uniqueId": "01"
}, {
	"answerLength": "10",
	"isComment": "false",
	"question": "what?",
	"uniqueId": "aaa",
  "answer": "02"
}, {
	"answerLength": "10",
	"isComment": "false",
	"question": "what?",
	"uniqueId": "03"
}, {
	"answerLength": "10",
	"isComment": "false",
	"question": "what?",
	"uniqueId": "aaa",
  "answer": "04"
}];

function checkAnsExist(){
    var forEach = _.filter(users, 'answer');
    document.write(JSON.stringify(forEach));
}
checkAnsExist();
<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.core.min.js"></script>

关于javascript - Lodash 查找并显示当前的 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42597963/

相关文章:

javascript - 不需要的递归 - 如何避免子级单击事件传递给 jquery 中的父级?

php - 基于javascript变量搜索数据库

javascript - 再次关于使用 JavaScript 计算两个日期之间的天数

javascript - 用表情符号替换字符串的最有效方法

javascript - 其他集合的 lodash 过滤器集合

javascript - 如何在多个动态创建的输入上使用 Bootstrap Datetimepicker

Android 中的 javascript 版本

javascript - 选择和合并 JavaScript 数组

javascript - 返回第一个参数的 Noop 函数

javascript - 两个物体的深度差异