1

[ [2, 4, 2] ] (乗算行列を作成するため) のような値を入れたい入力があります。今、値を読みたいのですが、「[ [2, 4, 2] ]」としてではありません。これを行う方法はありますか?

<body>
    <div id="main">
        <form>
            <input type="text" id="first"/>
            <label  for="first">example [ [2, 4, 2] ]</label>
            <input type="text" id="second"/>
            <select id="select">
                <option value="add">Add</option>
            </select>
            <textarea></textarea>
        </form>
    </div>

<script type="text/javascript">
$( document ).ready(function() {
    var select = $('#select');

     function multiplyMatrix(m1, m2) {
        var result = [];
        for(var j = 0; j < m2.length; j++) {
            result[j] = [];
            for(var k = 0; k < m1[0].length; k++) {
                var sum = 0;
                for(var i = 0; i < m1.length; i++) {
                    sum += m1[i][k] * m2[j][i];
                }
                result[j].push(sum);
            }
        }
        return result;
    }
    select.change(function(){
        var 
            m1 = $('#first').val(),
            m2 = $('#second').val();
            multiplyMatrix(m1, m2);
            console.log(multiplyMatrix(m1, m2));
    });

});
</script>
4

1 に答える 1

1

オブジェクトを有効な JavaScript オブジェクト (この場合はof )JSON.parseに解析するために使用します。Stringarrayarray

html ノードから値を取得したら、それらを解析するだけです。

var m1 = JSON.parse($('#first').val()),
    m2 = JSON.parse($('#first').val());

try {} catch (e) {}値が有効な JSON でない場合はエラーが発生するため、事前に値の形式を検証するか、ブロック内に配置することをお勧めします。

于 2013-06-18T22:05:56.283 に答える