完全是出于无聊写着玩
<!DOCTYPE html>
<html>
<head>
<style>
.float {
float: left;
}
.clearFix:after {
content: "";
clear: both;
display: block;
}
#matrixA,
#matrixB,
#matrixC {
width: 300px;
height: 300px;
}
div label {
display: block;
float: left;
line-height: 300px;
}
#result {
display: block;
}
</style>
</head>
<body>
<div class="clearFix">
<div class="float">
<label>矩阵A</label><textarea id="matrixA">[["a", "b"],["c", "d"],["e", "f"]]</textarea>
</div>
<div class="float">
<label>X矩阵B</label><textarea id="matrixB"></textarea>
</div>
<div class="float">
<label>矩阵C</label><textarea id="matrixC"></textarea>
</div>
</div>
<button id="result">计算矩阵A乘矩阵B</button>
</body>
<script type="text/javascript">
// let matrixA = [
// ["a", "b"],
// ["c", "d"],
// ["e", "f"]
// ],
// matrixB = [
// ["A", "B", "C", "D"],
// ["E", "F", "G", "H"]
// ];
let final = [];
document.getElementById("result").onclick = function () {
let a=document.getElementById("matrixA").value
let b=document.getElementById("matrixB").value
if(!a||!b){
alert("请输入合理数据")
return false;
}
try{
if (typeof JSON.parse(a) == "object"&&typeof JSON.parse(b) == "object") {
// break;
}
}catch(e){
alert("请输入合理数据")
return false
}
// console.log(a);
// a=JSON.parse(a)
// b=JSON.parse(b)
// console.log(a);
let matrixA = JSON.parse(a),
matrixB = JSON.parse(b);
let numA = 0,
numB = 0,
numC = 0;
for (let k = 0; k < matrixA.length; k++) {
if (matrixA[k].length != matrixB.length) {
alert("回去多读书吧 请输入可以相乘的矩阵")
return false;
} else {
numA = matrixA.length;
}
}
for (let k = 0; k < matrixB.length; k++) {
if (matrixB[k].length != matrixA.length) {
alert("回去多读书吧 请输入可以相乘的矩阵")
return false;
}
}
numB = matrixB[0].length;
numC = matrixB.length;
for (let i = 0; i < numA; i++) {
let res = [];
for (let j = 0; j < numB; j++) {
// matrixA[i][j]+'*'+matrixB[0][0]
// console.log(i + ", " + j);
let c = "";
for (let k = 0; k < numC; k++) {
// 第i行第j列 AB[i][j] = Σ (1.....k)= matrixA[i][k]matrixB[k][j]
if (k == 0) {
c = matrixA[i][k] + "*" + matrixB[k][j];
} else {
c += "+" + matrixA[i][k] + "*" + matrixB[k][j];
}
// console.log(i + ", " + j + ", " + k);
// console.log(matrixA[i][k] + "*" + matrixB[k][j]);
}
console.log(c);
res.push(c);
}
console.log(res);
final.push(res);
}
document.getElementById("matrixC").value=JSON.stringify(final)
};
// console.log(final);
</script>
</html>