JS中 要过滤返回 a数组中的b数组里字段seleted为true的对象
时间: 2024-03-12 17:49:16 浏览: 63
可以使用Array的filter方法和Object.keys方法来实现。
代码示例:
```javascript
const a = [{id: 1, name: 'obj1'}, {id: 2, name 'obj2'}];
const b = [{id: 1, selected: true}, {id: 2, selected: false}];
const filtered = a.filter(objA => {
const objB = b.find(obj => obj.id === objA.id);
return objB && objB.selected;
});
console.log(filtered); // [{id: 1, name: 'obj1'}]
```
解释:
1. 使用`filter`方法遍历`a`数组中的每个对象,返回符合条件的对象。
2. 在`filter`方法中使用`find`方法查找`b`数组中与当前`a`数组对象id相同的对象。
3. 判断找到的`objB`对象是否存在且`selected`属性为`true`,如果是,则返回当前`a`数组对象。
相关问题
ChromeDriver 获取seleted值
要获取 ChromeDriver 中下拉列表(select)的选定值,您可以使用 Selenium 提供的 `Select` 类。下面是一个示例代码,演示了如何使用 ChromeDriver 和 Selenium 来获取选定值:
```python
from selenium import webdriver
from selenium.webdriver.support.ui import Select
# 创建 ChromeDriver 实例
driver = webdriver.Chrome()
# 打开网页
driver.get("https://example.com")
# 找到下拉列表元素
select_element = driver.find_element_by_id("dropdown")
# 创建 Select 对象
select = Select(select_element)
# 获取选定的值
selected_option = select.first_selected_option
selected_value = selected_option.get_attribute("value")
print(selected_value)
# 关闭浏览器窗口
driver.quit()
```
在上面的示例中,我们首先创建了一个 ChromeDriver 实例,然后打开了一个网页。接下来,我们找到了具有 id "dropdown" 的下拉列表元素,并使用它创建了一个 `Select` 对象。然后,我们使用 `first_selected_option` 属性获取选定的选项,并使用 `get_attribute` 方法获取选项的值。最后,我们打印出选定的值。
请确保您已经正确安装了 Selenium 和 ChromeDriver,并将代码中的网页 URL 和下拉列表元素的 ID 替换为您实际使用的值。
C# ChromeDriver 获取seleted值
要使用 C# 的 ChromeDriver 获取下拉列表(select)的选定值,您可以使用 Selenium 提供的 Select 类。以下是一个示例代码,演示了如何使用 ChromeDriver 和 Selenium 来获取选定值:
```csharp
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
// 创建 ChromeDriver 实例
IWebDriver driver = new ChromeDriver();
// 打开网页
driver.Navigate().GoToUrl("https://example.com");
// 找到下拉列表元素
IWebElement selectElement = driver.FindElement(By.Id("dropdown"));
// 创建 Select 对象
SelectElement select = new SelectElement(selectElement);
// 获取选定的值
IWebElement selectedOption = select.SelectedOption;
string selectedValue = selectedOption.GetAttribute("value");
Console.WriteLine(selectedValue);
// 关闭浏览器窗口
driver.Quit();
```
在上面的示例中,我们首先创建了一个 ChromeDriver 实例,然后打开了一个网页。接下来,我们找到了具有 id "dropdown" 的下拉列表元素,并使用它创建了一个 SelectElement 对象。然后,我们使用 SelectedOption 属性获取选定的选项,并使用 GetAttribute 方法获取选项的值。最后,我们打印出选定的值。
请确保您已经安装了 Selenium.WebDriver 和 Selenium.WebDriver.ChromeDriver NuGet 包,并将代码中的网页 URL 和下拉列表元素的 ID 替换为您实际使用的值。
阅读全文