我收到一个看起来像这样的对象:
this.tokensData = {
O: {
id: 0,
name: value1,
organization: organization1,
...,
},
1: {
id: 1,
name: value1,
organization: organization1,
...,
},
2: {
id: 2,
name: value2,
organization: organization2,
...,
},
...
}
Run Code Online (Sandbox Code Playgroud)
我想要筛选id和删除Object其id匹配的id我从接收store。到目前为止我尝试过的:
const filteredObject = Object.keys(this.tokensData).map((token) => {
if (this.$store.state.id !== this.tokensData[token].id) {
return this.tokensData[token];
}
});
Run Code Online (Sandbox Code Playgroud)
这取代了Objectwith undefined- 这对我有用,但显然不理想。任何帮助深表感谢!
我Expect must have a corresponding matcher call - jest/valid-expect在这个循环的第一行收到 ESLint 错误,我正在检查匹配的正则表达式 ( .toMatch)。
const dateRegex = /^([1-9]|1[012])[- \\/.]([1-9]|[12][0-9]|3[01])[- \\/.](19|20)\d\d/
expect(getPerformancePerUserPerDay(input).forEach((item, index) => {
expect(item['Date']).toMatch(dateRegex)
}))
Run Code Online (Sandbox Code Playgroud)
不确定我做错了什么,因为根据他们的文档,用法似乎是正确的。这可能是一个错误吗?
我正在构建“撤消删除”操作的逻辑。为此,我使用事件总线将事件发送到两个不相关的组件,如下所示:
Undo.vue:
EventBus.$emit(`confirm-delete-${this.category}`, this.item.id);
Run Code Online (Sandbox Code Playgroud)
事件(this.category)的名称基于来自父级(ConfirmDeleteModal.vue)的道具,然后按如下方式接收:
CategoryA.vue
created() {
EventBus.$on('confirm-delete-category-a', (id) => {
this.confirmDelete(id);
});
},
Run Code Online (Sandbox Code Playgroud)
CategoryB.vue
created() {
EventBus.$on('confirm-delete-category-b', (id) => {
this.confirmDelete(id);
});
},
Run Code Online (Sandbox Code Playgroud)
我的问题:由于某种原因,事件category-a被发出和接收两次(category-b工作正常)。我必须confirm-event不断地监听,因此在收到事件或仅监听后我无法删除事件监听器$once。有什么想法可以解决这个问题(也许使用 Vuex)?谢谢!
我目前正在学习 Vue,我正在构建一个电影数据库应用程序,用户可以在其中查看从外部 API 获取的电影,并按热门和即将上映的电影进行排序。我必须为两个类别调用不同的 URL,我想知道我是否应该在每个组件或单独的第三个组件中执行此操作,其中存储了所有获取的数据?将 Vuex 用于这样的小型应用程序是否有意义,或者还有其他最佳实践吗?谢谢!
我收到object这样的消息:
this.data = {
O: {
id: 0,
name: value1,
organization: organization1,
...,
},
1: {
id: 1,
name: value1,
organization: organization1,
...,
},
2: {
id: 2,
name: value2,
organization: organization2,
...,
},
...
}
Run Code Online (Sandbox Code Playgroud)
然后,我过滤id并删除与我从商店收到的匹配的Object内容,如下所示:idid
filterOutDeleted(ids: any[], data: object,) {
const remainingItems = Object.fromEntries(Object.entries(data)
.filter(([, item]) => !ids.some(id => id === item.id)));
const rows = Object.keys(remainingItems).map((item) => remainingItems[item]);
return rows;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在构建说明时遇到错误,并且目前Property 'fromEntries' does not exist on type 'ObjectConstructor' …
我正在一个分支上工作,我更改了 5 个左右的文件。在这样做的同时,其他人已经将超过 100 个文件中的更改推送到 master。现在,在我的分支机构工作时,我想merge master时不时地去我当地的分支机构。我会这样做:
git checkout master
git pull
git checkout my-branch
git merge master
git push
但现在,由于某种原因,master 上其他人更改的所有文件都添加到了我的更改中。所以如果我真的push在之后merge master,它会显示我更改了 >100 个文件,而不是仅仅 5 个。我做错了什么?谢谢。
我正在解决一个问题,要求我返回一个舍入为10的指定幂的数字。例如:
1234, specified power = 2 => 1200
1234, specified power = 3 => 1000
Run Code Online (Sandbox Code Playgroud)
我确实找到了解决此功能问题的方法:
const roundToPower = (num, pow) => {
return Math.round(num / Math.pow(10, pow)) * Math.pow(10,pow)
};
Run Code Online (Sandbox Code Playgroud)
但是,我不确定它如何以及为什么起作用。
有人可以为我分解吗?谢谢!
javascript ×5
object ×2
vue.js ×2
eslint ×1
filter ×1
git ×1
github ×1
jestjs ×1
math ×1
typescript ×1
vue-events ×1
vuex ×1