uniapp中短数组中courseId对比长数组中的courseId,挑出长数组中与短数组中courseId一致的对象,赋值给新数组实现
时间: 2024-12-19 19:17:06 浏览: 12
在uniApp中,如果你有一个短数组(shortArray)包含了一些`courseId`,而需要从一个较长数组(longArray)中找到匹配的项并将其复制到一个新的数组(newArray),你可以按照以下步骤操作:
1. 首先,创建一个空的新数组`newArray`用于存放结果。
2. 使用`Array.prototype.filter()`方法遍历长数组`longArray`。对于每个元素,检查它的`courseId`是否存在于短数组`shortArray`中。可以使用`Array.prototype.includes()`方法来进行这个比较。
```javascript
let newArray = [];
for (let item of longArray) {
if (shortArray.includes(item.courseId)) {
newArray.push(item); // 如果找到匹配,将item添加到新数组
}
}
```
3. 这样,`newArray`就包含了所有在长数组中找到的与`shortArray`中`courseId`相匹配的对象。
相关问题
uniapp中短数组中this.courseId数值对比长数组this.chapterList中的courseId,挑出长数组this.chapterList中与短数组this.courseId中数值一致的对象,赋值给新数组实现
在 UniApp 中,你可以通过JavaScript的map和findIndex函数结合来完成这个任务。假设`this.courseId`是一个包含部分课程ID的短数组,而`this.chapterList`是一个包含多个章节信息的长数组,每个章节都有对应的`courseId`字段。
首先,你需要创建一个新的空数组来存储匹配的结果:
```javascript
let matchedChapters = [];
```
然后,遍历`this.courseId`,对每个ID执行如下的操作:
```javascript
for (let courseId of this.courseId) {
let index = this.chapterList.findIndex(chapter => chapter.courseId === courseId);
// 如果找到匹配的chapter,则将该对象添加到matchedChapters数组中
if (index !== -1) {
matchedChapters.push(this.chapterList[index]);
}
}
```
这将返回一个新数组`matchedChapters`,其中包含了所有在`this.chapterList`中找到与`this.courseId`中的ID相匹配的章节对象。
uniapp中短数组中courseId[36, 37]数值对比长数组this.chapterList中的courseId,挑出长数组this.chapterList中与短数组this.courseId中数值一致的对象,赋值给新数组实现
在uniApp开发中,如果想要从一个较长的数组`this.chapterList`中筛选出与短数组`this.courseId`中数值匹配的对象,你可以使用`filter()`方法结合数组的`includes()`方法来实现。假设`chapterList`是一个对象数组,每个对象都有一个`courseId`属性。
下面是一个示例代码片段:
```javascript
let matchedChapters = this.chapterList.filter(chapter => {
return this.courseId.includes(chapter.courseId);
});
```
这里,`filter()`方法遍历`this.chapterList`数组,对于每个元素`chapter`,我们检查`this.courseId`数组是否包含该元素的`courseId`。如果包含,则返回`true`,该元素会被添加到`matchedChapters`数组中。
最后,`matchedChapters`就是你要找的新数组,其中包含了与`this.courseId`数组中的课程ID相匹配的`chapterList`中的对象。
阅读全文