我想对带有值作为字符串的对象使用reduce。如果该值不包含目标字母,则将该值推入数组。
例如:
var animals = {a: 'pig', b: 'pony', c:'possum'};
useReduce(animals, "i"); // returns ['pony', 'possum'];
这是我到目前为止的内容,但出现错误:
var useReduce = function(obj, target) {
obj.reduce(function(previousValue, currentValue, key, obj) {
if (currentValue.indexOf(target) === -1) {
previousValue.push(currentValue);
};
}, []);
return previousValue;
};
最佳答案
您可以将对象转换为键数组,然后可以减少键。此外,previousValue
依赖于前一个调用的返回值。您忘了归还还原。
function useReduce(obj, target) {
return Object.keys(obj).reduce((previousValue, key) => {
if (obj[key].indexOf(target) === -1) previousValue.push(key);
return previousValue;
}, []);
}
关于javascript - 在对象上使用reduce返回数组中不包含目标字母的单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37288223/