Javascript 如何设置全局数组
我有一个JavaScript函数,类似于Javascript 如何设置全局数组,javascript,arrays,Javascript,Arrays,我有一个JavaScript函数,类似于 function ColorListPicker(listLength) { var colorCodeArray = ["#046c93", "#4caf50", "#8bc34a", "#cddc39", "#00bcd4", "#009688", "#e91e63", "#673ab7", "#ff9800", "#9e9e9e", "#f3f3f3"]; var colorList = "["; for (var i =
function ColorListPicker(listLength) {
var colorCodeArray = ["#046c93", "#4caf50", "#8bc34a", "#cddc39", "#00bcd4", "#009688", "#e91e63", "#673ab7", "#ff9800", "#9e9e9e", "#f3f3f3"];
var colorList = "[";
for (var i = 0; i < listLength; i++) {
colorList = colorList + '"' + colorCodeArray[i] + '",';
}
var colorListData = colorList.substr(0, colorList.length – 1);
colorListData = colorListData + "]";
return colorListData;
}
函数ColorListPicker(listLength){
var COLORCODEARRY=[“#046c93”、“#4caf50”、“#8bc34a”、“#cddc39”、“#00bcd4”、“#009688”、“#e91e63”、“#673ab7”、“#ff9800”、“#9e9e9e”、“#f3f3f3”];
var colorList=“[”;
对于(变量i=0;i
如果我正常调用这个函数,比如var colorList=ColorListPicker(5)
,然后将colorList
变量设置为返回值,就像我做了colorList=[“#046c93”、“#4caf50”、“#8bc34a”、“#cddc39”、“#00bcd4”]
但是我想声明colorCodeArray
为全局,并从我的ColorListPicker
函数中使用它
如何使ColorListPicker
设置一个全局变量,而不是返回一个值
但现在我想声明colorCodeArray变量为全局变量,并从ColorListPicker函数中使用它
只需将数组提取到全局变量中,并在函数中使用它:
var colorCodeArray = ["#046c93", "#4caf50", "#8bc34a", "#cddc39", "#00bcd4", "#009688", "#e91e63", "#673ab7", "#ff9800", "#9e9e9e", "#f3f3f3"];
function ColorListPicker(listLength) {
// use colorCodeArray within the function
}
相关问题:
查看其他关于改进功能的有用建议
但现在我想声明colorCodeArray变量为全局变量,并从ColorListPicker函数中使用它
只需将数组提取到全局变量中,并在函数中使用它:
var colorCodeArray = ["#046c93", "#4caf50", "#8bc34a", "#cddc39", "#00bcd4", "#009688", "#e91e63", "#673ab7", "#ff9800", "#9e9e9e", "#f3f3f3"];
function ColorListPicker(listLength) {
// use colorCodeArray within the function
}
相关问题:
查看其他关于改进功能的有用建议确定适当的范围
只考虑在
// Now colorCodeArray should be accessible from anywhere you need it
var colorCodeArray = ["#046c93", "#4caf50", "#8bc34a", "#cddc39", "#00bcd4", "#009688", "#e91e63", "#673ab7", "#ff9800", "#9e9e9e", "#f3f3f3"];
// Define your function here
function ColorListPicker(listLength){
// Your code here
}
考虑使用slice()
而不是循环
此外,看起来您正在尝试检索数组的前N个元素。如果是这样的话,你可以考虑使用这样的函数:
function ColorListPicker(listLength){
// This would return the first N elements from your global array
return colorCodeArray.slice(0,listLength);
}
如果要生成字符串,请使用join()
。
或者,如果要显式地将结果用大括号括起来,可以使用函数使用特定分隔符将数组元素合并为字符串:
function ColorListPickerAsString(listLength){
// This would return "['#046c93','#4caf50','#8bc34a','#cddc39','#00bcd4']"
return '[\'' + colorCodeArray.slice(0,listLength).join('\',\'') + '\']';
}
示例
您可以在下面进行演示:
确定合适的范围
只考虑在
// Now colorCodeArray should be accessible from anywhere you need it
var colorCodeArray = ["#046c93", "#4caf50", "#8bc34a", "#cddc39", "#00bcd4", "#009688", "#e91e63", "#673ab7", "#ff9800", "#9e9e9e", "#f3f3f3"];
// Define your function here
function ColorListPicker(listLength){
// Your code here
}
考虑使用slice()
而不是循环
此外,看起来您正在尝试检索数组的前N个元素。如果是这样的话,你可以考虑使用这样的函数:
function ColorListPicker(listLength){
// This would return the first N elements from your global array
return colorCodeArray.slice(0,listLength);
}
如果要生成字符串,请使用join()
。
或者,如果要显式地将结果用大括号括起来,可以使用函数使用特定分隔符将数组元素合并为字符串:
function ColorListPickerAsString(listLength){
// This would return "['#046c93','#4caf50','#8bc34a','#cddc39','#00bcd4']"
return '[\'' + colorCodeArray.slice(0,listLength).join('\',\'') + '\']';
}
示例
您可以在下面进行演示:
如果您希望它是全局的,只需将其声明为全局。把它移到任何函数之外,你就可以了。你确定它会返回一个数组吗?看来你在建一个string@ArifulHaque,你实际上想建立什么?您的代码没有多大意义,它只是返回JSON.stringify(colorCodeArray.slice(0,listLength))的一种复杂方式。。你真的想要一个JSON字符串吗?在这种情况下,函数名应该以某种方式反映这一点。如果您希望它是全局的,只需将其声明为全局的。把它移到任何函数之外,你就可以了。你确定它会返回一个数组吗?看来你在建一个string@ArifulHaque,你实际上想建立什么?您的代码没有多大意义,它只是返回JSON.stringify(colorCodeArray.slice(0,listLength))的一种复杂方式。。你真的想要一个JSON字符串吗?在这种情况下,函数名应该以某种方式反映这一点。