作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个对象,其键和值是另一个对象的键。但是我收到了一个 linting 错误:
ESLint: Arrow function should not return assignment.(no-return-assign)
const obj = {
a: 1, b: 2, c: 3,
};
const options: {[key: string]: string} = {};
Object.keys(obj).map(i => options[i] = i);
最佳答案
JS 101。当您使用不带括号的箭头函数时,应始终将返回值放在右侧。如果你想运行 options[i] = i
,你应该用括号括起来并使用 forEach
而不是 map
。 map
返回另一个数组,其中包含内部提供的函数的所有返回值。
按如下方式修复它。
Object.keys(obj).forEach((i) => {
options[i] = i;
});
但是,既然您说要使用另一个对象的值和键创建一个具有键和值的对象,则可以使用以下代码。
options = Object.keys(obj).reduce((prev, current) => {
return {
...prev,
current: obj[current],
};
}, {});
关于javascript - 映射对象值时无返回分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57940664/
我目前有一个功能可以从远程 url 抓取 mp3 文件,并将其上传到 Amazon S3 存储桶。 该函数似乎工作正常,因为该文件出现在 S3 中,但是我担心在我的本地服务器上使用隧道 (ngrok)
我是一名优秀的程序员,十分优秀!