gpt4 book ai didi

Javascript循环对象并操作

转载 作者:行者123 更新时间:2023-12-03 04:53:11 25 4
gpt4 key购买 nike

我正在开发一个函数,将对象(记录)传递给函数。然后它循环遍历键并检查该键是否在我们的第二个对象中(查找)。如果存在匹配,它将用经过操作的版本替换记录中的值(将其转换为链接)。如果没有匹配,则保持其原始值。

这是我传递给函数的内容:

{ Source: "1234", NTID: "joeBob", Department: "x123", Email: 'joebob@example.com' }

-这是函数

function createLink2(record) {

// Link types
var output = {
'ntid': 'https://example.com/profile/',
'email': 'mailTo:'
};

// Vars
var i,
key,
keys = Object.keys(output);

// Loop over our object keys
Object.keys(record).forEach(function(k, ind) {

// Loop over each of the link types
for ( i = 0; i < keys.length; ++i ) {
key = keys[i];

// If our key matches that of our object, turn it into a link
if(k.toLowerCase() == key){
record = '<a href="'+ output[key] + record[k] + '" target="_blank">'+record[k]+'</a>';
}else{
// Return the original value of the property since its not a match. Not quite sure how to do this part.
}

}

});
return record;
}

我的目标是将 Email 的值替换为 <a href="mailto: joeBob@example.com">joeBob@example.com</a>和 NTID 为 <a href="https://example.com/profile/joeBob">joeBob</a> .

我遇到的问题是返回 - 不太确定如何编辑数据并返回完整的对象。

最佳答案

更改此行:

record = '<a href="'+ output[key] + record[k] + '" target="_blank">'+record[k]+'</a>';

对此:

record[k] = '<a href="'+ output[key] + record[k] + '" target="_blank">'+record[k]+'</a>';

当然,您可以通过直接引用对象的属性来更轻松地做到这一点:

function createLink2(record) {

// Link types
var output = {
'NTID': 'https://example.com/profile/',
'Email': 'mailTo:'
};

// Loop over the output keys
Object.keys(output).forEach(function(k, ind) {
if(record.hasOwnProperty(k)) {
record[k] = '<a href="' + output[k] + record[k] + '">' + record[k] + '</a>';
}
});
return record;
}

请注意,您实际上并不需要返回它,因为正如其他人在评论中提到的那样,对象的内容将直接更改。

关于Javascript循环对象并操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42560651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com