uniapp中 let idx = 1; let wz = [{ key: 1, status: 1, goods_id: 92 }, { key: 2, status: 2, goods_id: 93 }, { key: 3, status: 2, goods_id: 94 }, { key: 4, status: 2, goods_id: 95 }] 随机选择一个status等于2并且该条数据的key和idx不同的随机数据
时间: 2024-04-10 14:34:33 浏览: 10
你可以使用以下代码来实现随机选择满足条件的数据:
```javascript
let randomData = wz.filter(item => item.status === 2 && item.key !== idx);
randomData = randomData[Math.floor(Math.random() * randomData.length)];
```
这段代码首先使用`filter`方法过滤`wz`数组中`status`等于2且`key`不等于`idx`的数据,然后使用`Math.random()`方法生成一个随机索引,最后返回随机选择的数据。请确保在使用之前已经定义了`idx`和`wz`数组。
相关问题
在js中,let idx=1,let wz=[{ "status": 2, "key": 1, "goods_id": 104, }, { "status": 1, "key": 2, "goods_id": 105, }, { "status": 2, "key": 3, "goods_id": 106, }, { "status": 1, "key": 4, "goods_id": 107, }, { "status": 2, "key": 5, "goods_id": 108, } ] 随机选择一条status不等于1并且该条数据的key不可以和idx相同的一条数据,在上次随机和下次随机选择中不可重复
你可以使用循环和条件语句来实现在给定数组中随机选择一条满足条件的数据。下面是一个可能的解决方案:
```javascript
let randomItem = null;
let previousRandomItem = null;
do {
randomItem = wz[Math.floor(Math.random() * wz.length)];
} while (randomItem.status === 1 || randomItem.key === idx || randomItem === previousRandomItem);
previousRandomItem = randomItem;
```
这个代码片段使用了一个do-while循环来随机选择数据项。每次选择都会检查所选的数据项是否满足条件:status不等于1,并且key不等于idx,并且不与上次选择的数据项重复。如果不满足条件,则继续进行下一次随机选择,直到找到符合条件的数据项。
在循环之外,可以使用previousRandomItem变量来跟踪上次选择的数据项,以便在下一次选择中进行比较,确保不重复选择相同的数据项。
请注意,这个解决方案假设数组中至少有一条满足条件的数据项。如果数组中没有符合条件的项,那么randomItem将为null。你可以在使用之前添加一些验证来确保数组中有符合条件的项存在。
解释一下:knn_idx = sorted_idx[:k] knn = Tmaj[knn_idx, :]
这段代码是KNN算法中的一部分。KNN算法是一种基于实例的学习算法,它的主要思想是通过计算测试样本与训练样本之间的距离来进行分类或回归。其中,k代表我们选择的邻居数,即在训练集中选择距离测试样本最近的k个样本。
在这段代码中,sorted_idx是根据测试样本到每个训练样本的距离进行排序后得到的索引值数组。我们通过取前k个索引值,得到与测试样本距离最近的k个训练样本的索引值,即knn_idx。
接着,我们通过knn_idx得到对应的k个训练样本,并将它们的标签取众数作为测试样本的分类结果。其中Tmaj是一个数组,存储了每个训练样本的标签。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)