#javascript #arrays #node.js #matrix
#javascript #массивы #node.js #матрица
Вопрос:
Я довольно новичок в javascript.Я довольно смущен тем, как преобразовать этот управляемый строковый массив в фактический массив.Поскольку это не фактический массив, эта программа выдает
console.log(line)//[10,0],[80,0],[20,0],[11,20],
var MatrixAJobtime = JSON.parse(JSON.stringify("[" line "]"));
console.log(arrdateline)//[10,0],[80,0],[20,0],[11,20],
var MatrixBJobDeadLine = JSON.parse(JSON.stringify("[" arrdateline "]"));;
console.log(_.isArray(MatrixAJobtime)) //False
var m1 = MatrixAJobtime
m2 =MatrixBJobDeadLine
result = m1.map((a,i) => a.map((n,j) => n - m2[i][j]));
console.log(result);//[ [ -90, -36, -45 ], [ 8, -36, 0 ], [ 0, 0, 0 ] ]
результат = m1.карта((a,i) => a.карта((n, j) => n — m2[i][j]));
^ Ошибка типа: m1.map не является функцией
Комментарии:
1. Это выдает мне ошибку
2. @wrarar : вам нужно удалить последнее
,
….var MatrixAJobtime = JSON.parse("[" line.slice(0,-1) "]");
иvar MatrixBJobDeadLine = JSON.parse(JSON.stringify("[" arrdateline.slice(0,-1) "]"));
3. Учитывая это
var line = "[10,0],[80,0],[20,0],[11,20]"
, вы получите правильный массив, когда выполнитеvar MatrixAJobtime = JSON.parse(("[" line "]"));
4. откуда вы берете строку? проще не использовать строковое представление идентификатора данных для данных в другом подлинном формате, например array.
Ответ №1:
Выполните приведенный ниже фрагмент и проверьте, соответствует ли это тому, что вы запрашиваете..
var line = [[10,0],[80,0],[20,0],[11,20]];
line = line.map(function(arr){
arr = arr.map(function(a){
return a.toString();
});
return arr;
});
console.log(line);// prints: [["10","0"],["80","0"],["20","0"],["11","20"]]