javascript - js循环问题
问题描述
我需要帮助,我是 js 新手,必须完成这项任务。我很困惑我做错了什么……
var products = [
product = {
id: 1,
name: "green",
},
product = {
id: 2,
name: "red",
},
product = {
id: 3,
name: "black",
},
];
var myWishlist = [
wishlist = {
id: 1,
productId: 4,
},
wishlist = {
id: 2,
productId: 2,
},
wishlist = {
id: 3,
productId: 2,
},
];
for (var i = 0; i < myWishlist.length; ++i) {
var currentWishlistProductId = myWishlist[i].productId;
for (var j = 0; j < products.length; ++j) {
var currentProductId = products[i].id;
if (currentWishlistProductId == currentProductId) {
console.log(
"Whishlist id: " +
myWishlist[i].id +
"Product name: " +
products[i].name,
);
}
}
}
现在输出是:Whishlist id:2 产品名称:red
输出应如下所示:
Whishlist id: 2 产品名称: red
Whishlist id: 3 产品名称: red
解决方案
试试下面的代码:
var products = [{ id: 1, name: "green" }, { id: 2, name: "red" }, { id: 3, name: "black" }],
myWishlist = [{ id: 1, productId: 4 }, { id: 2, productId: 2 }, { id: 3, productId: 2 }],
res = products.map(function (item) {
myWishlist.map(function (wishItem) {
if(item.id == wishItem.productId){
console.log("Whishlist id: "+wishItem.id+" Product name: "+item.name)
}
});
});
console.log(res)
推荐阅读
- cakephp-3.0 - CakePHP 3.x 更新多行
- python - django 按来自不同字段的最新日期对查询集进行排序
- php - 多数据搜索功能
- rally - Rally - 错误 - hydraModel 不是函数?
- ios - UINavigationController 改变 InteractivePopGesture 方向
- jenkins - groovy .execute waitFor 在 Jenkins 中挂起,但不是 CL
- python - datetime.now() 没有设置当前日期
- javascript - ejs中的if语句
- spring-boot - 从 Spring 升级到 Spring Boot 破坏了 JAX-WS 客户端配置
- java - 向警报对话框添加正确答案