js 筛选对象的方法

    <div name="n1">
        <div name="n2"  id="tid1" class="c1">
            1
        </div>
        <div name="n3">
            <div name="n2" id="tid2" class="c1">
            4
            </div>
        </div>
    </div>


1.通过name的属性过滤

var objs = document.getElementsByName("n2");
for(var i = 0 ; i < objs.length; i++){
   console.log( objs.innerHTML );
}

2. 通过id过滤, (在一个页面里,每个tag 的id属性值值 唯一)

    console.log(  document.getElementById("tid1").innerHTML );// 1
    console.log(  document.getElementById("tid2").innerHTML );//4

3.通过tag name(就是 p/div….等标签的名字)过滤

    document.getElementsByTagName();
    //方法略

4.用过class的属性过滤
    document.getElementsByClassName();
    //方法略

另外,对于表单(form), 也有一种取到dom的方法,仅限于表单,通过测试

    <form name="f1">
    <input  type="text" name="text1" value="2" />
    </form>

取到2的方法:
    document.f1.text1.value;



### 3.6 对对象数组进行筛选方法JavaScript 中,对对象数组进行筛选通常涉及使用 `filter()` 方法,该方法允许根据特定条件从数组中提取符合条件的对象元素,并返回一个新的数组。`filter()` 接收一个回调函数作为参数,该函数定义了筛选逻辑,每个数组元素都会依次传入该函数进行判断,返回 `true` 的元素将被保留在新数组中。 例如,筛选一个包含多个对象的数组,其中对象具有 `age` 属性,并希望筛选出年龄大于 25 的对象: ```javascript const people = [ { name: "Alice", age: 25 }, { name: "Bob", age: 30 }, { name: "Charlie", age: 20 } ]; const adults = people.filter(person => person.age > 25); console.log(adults); // 输出 [ { name: 'Bob', age: 30 } ] [^3] ``` 此方法适用于需要从对象数组中提取满足特定条件的子集的场景。 在某些情况下,可能还需要结合 `map()` 方法来提取筛选后的对象中的特定属性。例如,筛选出所有年龄大于 25 的对象后,仅提取它们的 `name` 属性: ```javascript const filteredNames = people .filter(person => person.age > 25) .map(person => person.name); console.log(filteredNames); // 输出 [ 'Bob' ] [^3] ``` 这种方式可以用于在筛选后仅保留需要的字段,便于后续处理或展示。 此外,在处理复杂对象结构时,例如嵌套对象或具有多个属性的对象数组,可以通过定义更复杂的筛选条件来实现更精细的控制。例如,筛选出具有特定名称的对象: ```javascript const devices = [ { name: "温度", value: "25.4 °C" }, { name: "湿度", value: "56.1 %" }, { name: "烟感", value: "100 ppm" } ]; const temperature = devices.filter(device => device.name === "温度"); console.log(temperature); // 输出 [ { name: '温度', value: '25.4 °C' } ] [^5] ``` 此方法适用于需要根据对象的某个属性值进行筛选的场景。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值