1
입력에 대해 일련의 로직 테스트를 수행하는 함수를 작성하고 있습니다. 나는 lodash 라이브러리를 사용하고 있습니다. 따라서 ID = 123ABCZ 인 경우이 예제에는 항목 중 하나가 포함되어야합니다.javascript reduce function not running logic
_.contains(list, obj.id) && _.contains(list, item)
난 단지 거기에 (item_arr에있는) 현재 하나 개의 객체를 가지고 있지만 때로는 내가 평평하게하는 임시 OBJ이 이유입니다 많은있다. '[123ABCZ]', 'apple']을 통과하면 true를 반환하지만 그렇지 않습니다. ID가 전혀없는 경우에도 true를 반환해야합니다. 나는 논리가 잘못되었다는 것을 알아낼 수 없다!
function include_test(list){
var item_arr = [{id: '123ABCZ', item: ['apple', 'pear', 'grape', 'lemon', 'lime']}];
var functionizer = function(obj){
var func_arr = _.map(obj.item, function(item){
return function(){
if(_.contains(list, obj.id)
return _.contains(list, obj.id) && _.contains(list, item);
return true;
};
});
return func_arr;
};
var temp = _.flatten(_.map(item_arr, function(item){
return functionizer(item);
}));
var result = _.reduce(temp, function(acc, func){
acc = acc || func();
return acc;
}, false);
return result;
}
functionizer는 함수 배열을 반환합니다. 내 예제에서는 그것을 반환합니다 _.contains (list, obj.id) && _.contains (list, item); 아이템의 반복마다. 나는 단지 '정의되지 않았다. 당신의 모범을 보려고 할 때. – TorusTorus
예제에서 얻은 결과는 무엇입니까? false 또는 undefined 또는 error입니까? – pwnyexpress
나는 거짓말을하고 있었지만, 뭔가 일하고있다. 나는 (_. contains (list, obj.id))와 함께 뭔가가 일어나고 있다고 생각한다. 내가 아는 obj.id가 포함되어 있으면 if 문에 절대로 들어 가지 않습니다 ... – TorusTorus