在用于电子表格的Javascript中输出对象中的数组
Output arrays in object in Javascript for spreadsheet
这是我的代码。
function order() {
//declare things
var order = [3, 2, 1, 0]
var testOne = [2, 3, 7, 4]
var testTwo = ["c", "b", "a", "d"]
//sort by order
var collatedArray = [];
for (var i = 0; i < order.length; i++)
{
index = order[i];
var collated =
{
test1 : testOne[index],
test2 : testTwo[index]
}
collatedArray.push(collated);
}
//Create output
var output = [];
for (i=0; i<collatedArray.length; i++)
{
output[i] = collatedArray[i].test1
}
return output
}
当前的输出仅为collatedArray[i].test1,它给出:
4, 7, 3, 2
如果我把output[I]=collectedArray[I].test1改为test2,我得到:
d, a, b, c
我只想输出整个整理好的数组(test1和test2),这样我就可以得到:
4, 7, 3, 2
d, a, b, c
而不需要输出变量或转换回数组。这些信息都在那里,我只是不知道如何把它弄出来。对编码非常陌生,只是不知道在这里该做什么:(感谢
将output
调整为包含两个数组的数组;在最后一个for
循环中,用collatedArray[0][i].test1
和collatedArray[1][i].test2
的值填充output
中的每个阵列
// Create output
var output = [[], []];
for (i=0; i<collatedArray.length; i++)
{
output[0][i] = collatedArray[i].test1;
output[1][i] = collatedArray[i].test2;
}
function order() {
//declare things
var order = [3, 2, 1, 0]
var testOne = [2, 3, 7, 4]
var testTwo = ["c", "b", "a", "d"]
//sort by order
var collatedArray = [];
for (var i = 0; i < order.length; i++) {
index = order[i];
var collated = {
test1: testOne[index],
test2: testTwo[index]
}
collatedArray.push(collated);
}
//Create output
var output = [
[],
[]
];
for (i = 0; i < collatedArray.length; i++) {
output[0][i] = collatedArray[i].test1;
output[1][i] = collatedArray[i].test2;
}
return output
}
console.log(order())
testOne
、testTwo
等)存储在由属性组成的对象中。了解对象是如何工作的,在这里观察了您的代码后,您应该能够轻松地找出如何循环遍历所述Object
的每个属性(在您的情况下将是数组),以打印出您要查找的内容。如果你不能弄清楚,有大量的堆栈溢出问答;A非常好地涵盖了这一点。
但目前,这里有一个简单的替代方案:数组。
https://jsfiddle.net/6r3hv3aq/7/
var testOne = [2,3,7,4];
var testTwo = ["c","b","a","d"];
var test = [testOne,testTwo];
for (var i = 0; i <= test.length-1; i++) {
console.log(test[i]);
}
它将输出您所要求的内容:
[2, 3, 7, 4]
["c", "b", "a", "d"]
注意:当您单击提供的jsfiddle链接时,您可能需要刷新页面以查看加载到控制台中的适当结果。或者,在迁移到链接时保持控制台打开
由于您想要将其用于电子表格,我假设您想要一个可以导入电子表格程序的CSV输出字符串。
function row(source, sequence) {
var temp = new Array(sequence.length);
for (var i = 0; i < sequence.length; i++)
temp[i] = source[sequence[i]];
return temp.join(",")
}
function order() {
//declare things
var sequence = [3, 2, 1, 0];
var testOne = [2, 3, 7, 4];
var testTwo = ["c", "b", "a", "d"];
var rows = [];
rows.push(row(testOne, sequence));
rows.push(row(testTwo, sequence));
return rows.join("'r'n");
}
这是一个plunkr
相关文章:
- 如何使用构造函数's的输出,以便将值插入到对象中
- JavaScript-从对象数组中输出随机OBJECT
- 如何为输出Json对象的ajax调用编写客户端脚本
- EJS 仅输出对象的某些部分
- 如何使用 JQuQuery 解析 JSON 对象并在 HTML 页面中以表格格式打印输出
- PhantomJS 控制台.log对象输出 [对象对象]
- Javascript 对象输出到 Array
- 在模板中为Django表单分离媒体类对象的JS和CSS列表输出
- 如何使用getJSON将数据从JSON对象输出为HTML
- c#linq对象到javascript输出
- 在用于电子表格的Javascript中输出对象中的数组
- 以javascript输出对象值
- 表中的 Javascript 输出对象有助于删除重复代码
- 如何输出对象的所有属性
- 带有输出对象的可排序移位克隆
- 输出对象'属性时出错
- 对象.为什么我的代码输出对象而不是名称字符串值
- jQuery/JS -在数组中输出对象-最佳实践
- 如何在js模板引擎中输出对象的参数名(小胡子,下划线)
- 输出对象的一部分