用JS写一个方法筛选出数组中为质数的值
时间: 2023-03-14 17:16:07 浏览: 96
我可以提供一个简单的示例:function primeNumberFilter(arr){
let result = [];
for(let i = 0; i < arr.length; i++){
let num = arr[i];
let isPrime = true;
for(let j = 2; j < num; j++){
if(num % j == 0){
isPrime = false;
break;
}
}
if(isPrime){
result.push(num);
}
}
return result;
}
相关问题
js实现当前存在一组数组,数组中为id的集合,取出这组数组每一个id在一个任意层级的树形结构体中的所有上级id,输出一个不会重复的数组
这个问题可以回答,可以使用递归来遍历树形结构体,判断每一个节点是否存在于给定的数组中,如果存在,则将其所有的上级id加入到一个集合中,最后输出集合中的元素即可,也可以使用非递归方式来实现。具体实现可以参考如下代码:
```
function findParentIds(tree, ids) {
const parentIds = new Set();
const stack = [...tree];
while (stack.length > 0) {
const node = stack.pop();
if (ids.includes(node.id)) {
let parent = node.parent;
while (parent !== null) {
parentIds.add(parent.id);
parent = parent.parent;
}
}
if (node.children) {
stack.push(...node.children);
}
}
return [...parentIds];
}
```
其中,`tree`是树形结构体,`ids`是要查找的id集合。函数返回的是不会重复的上级id集合。
python如何去掉数组中为None的值
在Python中,可以使用列表推导式的方式来去掉列表或数组中的None值。以下是示例代码:
```python
original_list = [1, 2, None, 4, None, 5]
# 使用列表推导式过滤None值
new_list = [item for item in original_list if item is not None]
print(new_list) # [1, 2, 4, 5]
```
这个例子中,我们首先定义了一个包含None值的原始列表`original_list`。然后,我们使用列表推导式`[item for item in original_list if item is not None]`,遍历原始列表中的每个元素,如果元素不是None,则添加到新的列表中。最后,我们输出新的列表,其中已经去掉了None值,结果为`[1, 2, 4, 5]`。
如果你想要修改一个NumPy数组来去掉None值,可以使用NumPy库中的`numpy.ndarray`对象的`numpy.isnan()`方法。以下是示例代码:
```python
import numpy as np
original_array = np.array([1, 2, None, 4, None, 5])
# 使用numpy.isnan()方法过滤None值
new_array = original_array[~np.isnan(original_array)]
print(new_array) # [1. 2. 4. 5.]
```
这个例子中,我们首先定义了一个包含None值的NumPy数组`original_array`。然后,我们使用`numpy.isnan()`方法,将返回一个布尔数组,其中为True的位置表示对应的元素是NaN或None值。接着,我们使用`~`符号取反布尔数组,将True变为False,False变为True,用于过滤掉原始数组中的None值。最后,我们输出新的数组,其中已经去掉了None值,结果为`[1. 2. 4. 5.]`。
阅读全文