以下是一个示例代码,用于遍历Javascript数组对象并返回只包含值发生变化的键的一个对象:
function getChangedKeys(obj) {
var changedKeys = {};
var prevValue;
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
var currentValue = obj[key];
if (prevValue !== currentValue) {
changedKeys[key] = currentValue;
}
prevValue = currentValue;
}
}
return changedKeys;
}
// 示例用法
var arr = [1, 2, 2, 3, 4, 4, 4, 5];
var changedKeys = getChangedKeys(arr);
console.log(changedKeys); // 输出: {0: 1, 1: 2, 3: 3, 4: 4, 7: 5}
在这个示例中,我们定义了一个getChangedKeys
函数来接受一个数组对象作为参数,并返回一个只包含值发生变化的键的对象。
在循环遍历对象的过程中,我们使用prevValue
变量来跟踪上一个键的值。在每次迭代中,我们将当前值与prevValue
进行比较,如果不相等,则将键和当前值添加到changedKeys
对象中。
最后,我们返回changedKeys
对象,其中包含了值发生变化的键的集合。