js数组循环返回数据,常见数组循环比较

一、已知数组,返回出符合数组元素的新数组。

const foods = [
  { name: "汉堡包", group: 1 },
  { name: "薯条", group: 2 },
  { name: "咖啡", group: 3 },
  { name: "可乐", group: 4 },
];
const arr = [2, 3];

已知两个数组返回新数组[{ name: "薯条", group: 2 },{ name: "咖啡", group: 3 }]

1、for循环
  var newArr = [];
  for (let i = 0; i < foods.length; i++) {
    for (let m = 0; m < arr.length; m++) {
      if (foods[i].group == arr[m]) {
        newArr.push(foods[i]);
      }
    }
  }
2、filter
  var newArr=foods.filter((i)=>arr.includes(i.group))

filter循环代码更简便,效率更高。

二、已知数组,求数组中某个元素是否为空。

const foods = [
  { name: "汉堡包", group: 1 },
  { name: "薯条", group: 2 },
  { name: "咖啡", group: 3 },
  { name: "可乐", group: 4 },
];
1、for循环
let ifSubmit = false;
for (let i = 0; i < foods.length; i++) {
  if (foods[i].name == "") {
    ifSubmit = true;
  }
}
2、map循环
let ifSubmit=foods.map((i)=>i.name).includes('')

map循环代码更简便,效率更高。

三、已知数组与对象,判断数组是否存在对象,无则修改,有则新增。

const foods = [
  { name: "汉堡包", group: 1 },
  { name: "薯条", group: 2 },
  { name: "咖啡", group: 3 },
  { name: "可乐", group: 4 },
];
1、forEach循环
let hasInclude = foods.map((i) => i.group).includes(obj.group);
if (hasInclude) {
  foods.forEach((item) => {
    if (item.group == obj.group) {
      item.name = obj.name;
    }
  });
} else {
  foods.push(obj);
}
2、findIndex循环
let index = foods.findIndex((item) => item.group == obj.group);
index >= 0 ? foods.splice(index, 1, obj) : foods.push(obj);

findIndex找出符合条件的角标,然后用三元运算判断替换。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用JavaScript进行数组循环并取得表格某列的数据,可以按照以下步骤进行: 1. 首先,使用JavaScript获取到表格的DOM元素,可以使用getElementById()或querySelector()方法来获取表格的元素。 2. 然后,使用JavaScript获取表格的行数和列数,可以通过表格的rows和cells属性来获取。 3. 创建一个空数组来存储取出的列数据。 4. 使用for循环遍历表格的每一行,从第二行开始循环,因为第一行通常是表头。 5. 在循环体内,通过cells属性获取到当前行的指定列的单元格数据,可以使用索引来指定列。将取到的数据添加到之前创建的数组中。 6. 循环结束后,得到的数组就是所需的表格某列的数据。 以下是一个具体的示例代码: ```javascript // 获取表格元素 var table = document.getElementById("myTable"); // 获取表格行数和列数 var rowCount = table.rows.length; var columnCount = table.rows[0].cells.length; // 创建数组来存储取出的列数据 var columnData = []; // 循环行 for (var i = 1; i < rowCount; i++) { // 获取指定列的单元格数据 var cellData = table.rows[i].cells[1].innerHTML; // 将数据添加到数组中 columnData.push(cellData); } // 输出结果 console.log(columnData); ``` 以上代码假设表格的id为"myTable",要取得第二列的数据。根据实际情况,你可以根据表格的id来修改代码中的"myTable",并根据需要的列数来修改代码中的索引值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值