javascript - 如何将相同的元素推入一个空数组
问题描述
嗨,我想知道如何让 bob 和 tina 相同的追随者进入一个空数组相互追随者。我得到输出 两个追随者都未定义。好像名字没有通过。请指教。
let bobsFollowers = ['grey', 'mary', 'james', 'ash'];
let tinasFollowers = ['grey', 'mary', 'rex'];
let mutualFollowers = [];
for(let i = 0; i<bobsFollowers.length; i++){
for(let k = 0; k<tinasFollowers.length; k++){
if (bobsFollowers[i] === tinasFollowers[k]) {
tinasFollowers.push(mutualFollowers);
console.log('Both followers have ' + mutualFollowers[k]);
}
}
}
解决方案
你需要推到mutualFollowers
. 并且为了使循环更有表现力,您可以将内部循环保留在 found 上。
let bobsFollowers = ['grey', 'mary', 'james', 'ash'];
let tinasFollowers = ['grey', 'mary', 'rex'];
let mutualFollowers = [];
for (let i = 0; i < bobsFollowers.length; i++) {
for (let k = 0; k < tinasFollowers.length; k++) {
if (bobsFollowers[i] === tinasFollowers[k]) {
mutualFollowers.push(bobsFollowers[i]);
break;
}
}
}
console.log(mutualFollowers);
要仅获取常见项目,您可以使用 aSet
并使用Set#has
.
const
bobsFollowers = ['grey', 'mary', 'james', 'ash'],
tinasFollowers = ['grey', 'mary', 'rex'],
common = bobsFollowers.filter(
Set.prototype.has,
new Set(tinasFollowers)
);
console.log(common);
推荐阅读
- swift - 应该在哪里使用循环来为 SwiftUI 预览生成虚拟数据?
- javascript - 在 FETCH 调用 nodejs express 后重定向
- python - 将一维数组的元素插入到二维数组中的特定位置
- ios - 子类中self和super之间的混淆
- git - 有什么方法可以在 vscode git graph 扩展中以从上到下的顺序呈现?
- python - 使用 Shopify 刮板接收 urllib 错误
- python - 将日期的日期范围分成两个列表
- node.js - 无法在 Docker 中部署 create-react-app -- caddy reverse_proxy 和 auto https
- javascript - 请问,如何在不使用 toString() 或任何其他预制方法的情况下将十进制转换为二进制到十六进制到八进制?
- gradle - Gradle 6.5 插件“com.gradle:gradle-enterprise-gradle-plugin:3.3.3”问题