如何将所有 Javascript 数组数据显示为字符串
How To Display All Javascript Array Data as a string
我在 Javascript 中有一个二维数组,我想将其显示为用户的字符串,并希望添加稍后读取另一个数组的能力(有效地尝试保存和加载所有对象在数组中)。
老实说,我完全不知道文件编码,但到目前为止我已经尝试了 keyframes.toString()
和 keyframes.frame.join()
无济于事。
给我的唯一输出是 [object Object]
。这让我觉得处理二维数组不同于简单的值列表,但就像我说的,我真的不知道..
如何在 Javascript 中将数组显示为纯文本?
我认为您需要先 "flatten" 数组。
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
return a.concat(b);
});
// flattened is [0, 1, 2, 3, 4, 5]
来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
查看此代码:
function join2DArray(arr,sep1,sep2)
{
if (sep1 == undefined || sep1 == null) sep1 = "";
if (sep2 == undefined || sep2 == null) sep2 = "";
for (var i=0;i<arr.length;i++)
{
if (arr[i].join) arr[i] = arr[i].join(sep2);
}
return arr.join(sep1);
}
function split2DArray(str,sep1,sep2)
{
if (sep1 == undefined || sep1 == null) sep1 = "";
if (sep2 == undefined || sep2 == null) sep2 = "";
var arr = str.split(sep1);
for (var i=0;i<arr.length;i++) arr[i] = arr[i].split(sep2);
return arr;
}
var my_arr = [[1,2,3],[4,5,6],[7,8,9]];
var my_arr_joined = join2DArray(my_arr,"|",",");
alert(my_arr_joined);
var my_arr_resplit = split2DArray(my_arr_joined,"|",",");
alert(my_arr_resplit[0][1]);
希望它能让您深入了解如何为您的代码执行此操作。
使用这个功能
如果你想用一个特殊的字符或字符串加入str
参数
function joinArray(arr, str)
{
if (str == undefined || str == null) str= "";
for (var i=0;i<arr.length;i++)
if (arr[i].join) arr[i] = joinArray(arr[i], str);
return arr.join(str);
}
像
一样使用它
var output = joinArray(keyframes);
如果您只想要数组的字符串表示,您可以尝试使用 JSON.stringify
。这是一个 jsfiddle http://jsfiddle.net/bkr4qc3u/1/
我在 Javascript 中有一个二维数组,我想将其显示为用户的字符串,并希望添加稍后读取另一个数组的能力(有效地尝试保存和加载所有对象在数组中)。
老实说,我完全不知道文件编码,但到目前为止我已经尝试了 keyframes.toString()
和 keyframes.frame.join()
无济于事。
给我的唯一输出是 [object Object]
。这让我觉得处理二维数组不同于简单的值列表,但就像我说的,我真的不知道..
如何在 Javascript 中将数组显示为纯文本?
我认为您需要先 "flatten" 数组。
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
return a.concat(b);
});
// flattened is [0, 1, 2, 3, 4, 5]
来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
查看此代码:
function join2DArray(arr,sep1,sep2)
{
if (sep1 == undefined || sep1 == null) sep1 = "";
if (sep2 == undefined || sep2 == null) sep2 = "";
for (var i=0;i<arr.length;i++)
{
if (arr[i].join) arr[i] = arr[i].join(sep2);
}
return arr.join(sep1);
}
function split2DArray(str,sep1,sep2)
{
if (sep1 == undefined || sep1 == null) sep1 = "";
if (sep2 == undefined || sep2 == null) sep2 = "";
var arr = str.split(sep1);
for (var i=0;i<arr.length;i++) arr[i] = arr[i].split(sep2);
return arr;
}
var my_arr = [[1,2,3],[4,5,6],[7,8,9]];
var my_arr_joined = join2DArray(my_arr,"|",",");
alert(my_arr_joined);
var my_arr_resplit = split2DArray(my_arr_joined,"|",",");
alert(my_arr_resplit[0][1]);
希望它能让您深入了解如何为您的代码执行此操作。
使用这个功能
如果你想用一个特殊的字符或字符串加入str
参数
function joinArray(arr, str)
{
if (str == undefined || str == null) str= "";
for (var i=0;i<arr.length;i++)
if (arr[i].join) arr[i] = joinArray(arr[i], str);
return arr.join(str);
}
像
一样使用它var output = joinArray(keyframes);
如果您只想要数组的字符串表示,您可以尝试使用 JSON.stringify
。这是一个 jsfiddle http://jsfiddle.net/bkr4qc3u/1/