在下面的示例中,使用getData();
时,是否可以在新函数中访问其对象图中包含的数据 - 即。 useData();
- 这是getData();
的参数?
const getData = (useData) => {
const myData = {
0: { title: 'Hello' },
1: { title: 'World!' }
};
Object.keys(myData).map((item) => {
useData();
});
}
getData(console.log(
/**
* Somehow access data represented by `myData` and `item`
* in above object map along the lines of `myData[item].title`
*/
));
答案 0 :(得分:1)
你想实现这样的目标吗?
您可以使用useData
函数中的一些参数调用map
。在这种情况下,您不能将console.log
之类的函数称为getData
函数的参数。
const getData = useData => {
const myData = {
0: { title: "Hello" },
1: { title: "World!" },
};
Object.keys(myData).map(item => {
useData(myData[item]);
});
};
getData(console.log);
答案 1 :(得分:0)
是的,这是默认行为。但是您需要传递function
( console.log )而不是函数调用( console.log())并稍后调用它。
const getData = (useData) => {
const myData = {
0: { title: 'Hello' },
1: { title: 'World!' }
};
Object.keys(myData).map((item) => {
useData.apply(console, [item]);
useData.apply(console, [ myData[item].title ]);
//or useData(myData[item].title)
});
}
getData(console.log);
getData(console.log('something'));
与:
相同let x = console.log('something');
getData(x);