gpt4 book ai didi

javascript - 转换对象或数组值的最佳方法

转载 作者:行者123 更新时间:2023-11-28 21:10:17 28 4
gpt4 key购买 nike

所以我有一堆值需要转换为新值。基本上都是有传说的。过一会儿就会明白了。到目前为止,我一直在使用关联数组,或者在 javascript 上下文中,使用对象作为我的图例。

我的使用适用于单个字符串、数组(如我所拥有的)或对象。

var legend = {
"html": "html5",
"css2": "css3",
"javascript": "jquery"
}

var old_array = new Array("html", "css2", "javascript");
var new_array = [];

max = old_array.length;

// loop through values in original array
for(i=0;i<max;i++){
for(var val in legend){
// looping through values in legend. If match, convert
if(old_array[i] === val){
new_array[i] = legend[val];
}
}
}
console.log(new_array);
document.write(new_array);

如果将其粘贴到 firebug 或 jsfiddle 中,它将显示一个包含转换后的值的新数组。

我决定使用对象/关联数组作为我的图例,因为它很容易扩展,以防需要转换新值。我认为它非常强大。它适用于转换单个字符串、如上所示的数组或对象(键或值)。

对于转换值,这是最好的方法吗?有什么注意事项吗?对于 php,因为它是我经常使用的唯一其他语言,是否也可以使用带有关联数组的相同概念?

非常感谢您的帮助和建议!

干杯!

最佳答案

您没有使用该对象的功能,因为没有理由循环该对象。它已经有了你可以直接查找的键,如下所示:

var legend = {
"html": "html5",
"css2": "css3",
"javascript": "jquery"
}

var old_array = new Array("html", "css2", "javascript");
var new_array = [];

max = old_array.length;

// loop through values in original array
for(var i=0;i<max;i++){
// see if array value is a key in the legend object
if ([old_array[i] in legend) {
new_array.push(legend[old_array[i]]);
}
}
console.log(new_array);
document.write(new_array);

我还更改了它以使用 new_array.push() 这样你就不会得到一个带有一些未定义值的数组,但我不太确定你的最终结果是什么类型我正在尝试结束。

关于javascript - 转换对象或数组值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8891404/

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