JavaScript通过商品查询效果案例学习数组常用方法,输入价格区间可以筛选出价格区间的商品,也可以根据商品名称进行查询
时间: 2023-12-06 16:02:16 浏览: 117
好的,首先我们需要准备一些商品数据,可以使用以下代码创建一个商品数组:
```javascript
const products = [
{ name: "iPhone 12", price: 8999 },
{ name: "MacBook Pro", price: 12999 },
{ name: "iPad Pro", price: 7499 },
{ name: "Apple Watch", price: 2599 },
{ name: "AirPods Pro", price: 1999 },
{ name: "iMac", price: 9999 },
{ name: "Apple TV", price: 899 },
];
```
接下来,我们可以通过数组的 `filter()` 方法来实现根据价格区间筛选商品的功能,代码如下:
```javascript
function filterByPrice(products, minPrice, maxPrice) {
return products.filter(product => product.price >= minPrice && product.price <= maxPrice);
}
// 示例使用
const filteredProducts = filterByPrice(products, 5000, 10000);
console.log(filteredProducts);
```
以上代码中,我们定义了一个名为 `filterByPrice()` 的函数,它接受三个参数:商品数组 `products`,最小价格 `minPrice` 和最大价格 `maxPrice`。函数内部使用 `filter()` 方法对商品数组进行筛选,返回价格在给定区间内的商品数组。
接下来,我们可以通过数组的 `filter()` 和 `includes()` 方法来实现根据商品名称查询的功能,代码如下:
```javascript
function searchByName(products, keyword) {
return products.filter(product => product.name.toLowerCase().includes(keyword.toLowerCase()));
}
// 示例使用
const searchedProducts = searchByName(products, "pro");
console.log(searchedProducts);
```
以上代码中,我们定义了一个名为 `searchByName()` 的函数,它接受两个参数:商品数组 `products` 和关键词 `keyword`。函数内部使用 `filter()` 方法对商品数组进行筛选,筛选条件是商品名称中包含关键词,使用 `includes()` 方法进行判断。同时,我们将商品名称和关键词都转换为小写字母,以避免大小写不敏感导致的匹配问题。
以上就是使用数组常用方法实现商品查询效果的案例学习,希望对你有所帮助。
阅读全文