javascript - 通过属性和值获取数组对象项的索引

标签 javascript jquery arrays javascript-objects

我在更新找到的对象时遇到问题。 我也试过Find object by id in an array of JavaScript objectsGet JavaScript object from array of objects by value or property

请帮忙。

// Create array
var schedule = [];
schedule.push({ 'action': 'add', 'id': 1 });
schedule.push({ 'action': 'update', 'id': 2 });

// Find array object
var searchId = 2;
var foundObj = schedule.filter(function(obj) { return obj.id == searchId; })

// Update found object
if (typeof foundObj !== 'undefined') {
  var newId = 3;
  schedule[foundObj] = {'action': 'delete', 'id': newId };
}

console.log(schedule);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

最佳答案

使用find获取对象,然后使用找到的对象的索引替换元素

// Create array
var schedule = [];
schedule.push({ 'action': 'add', 'id': 1 });
schedule.push({ 'action': 'update', 'id': 2 });

// Find array object
var searchId = 2;
var foundObj = schedule.find(function(obj) { return obj.id == searchId; })
// Update found object
if (typeof foundObj !== 'undefined') {
  var newId = 3;
  schedule[schedule.indexOf(foundObj )] = {'action': 'delete', 'id': newId };
}

console.log(schedule);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - 通过属性和值获取数组对象项的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41764706/

相关文章:

javascript - 如何为空数组定义 TypeScript 接口(interface)?

javascript - 将字符串(看起来像数组)转换为多维数组

javascript - 如何使用 jQuery 判断网站访问者之前是否访问过该网站?

javascript - 如何在reducer中的数组索引处添加对象

python - 在 Python 中从二维数组打印时如何排列列?

javascript - 尝试将动画重构为类对象,如何构造其相互关联的部分

javascript - jQuery 插件不会覆盖默认选项

javascript - 多个日期选择器字段 id

javascript - 弹出 div 像 http ://www. kelkoo.co.uk/

c - strtoull在C中正确使用