1
コードを入力して確認し、その結果を表示できるテキストエリアがあります。私はJSで2つの関数を持っています:1.それはテキストエリアの入力であるコードです。2.テキストエリアからコードを取り出してチェックする関数です。私が欲しいものJavaScript文字列の挿入
function 1 (code as input)
var searchInsert = function (nums, target) {
var start = 0;
var end = nums.length - 1;
var index = Math.floor((end - start)/2) + start;
if (target > nums[nums.length - 1]) {
index = nums.length;
}
else {
while (start < end) {
var val = nums[index];
break;
}
if (val == target) {
result = index;
}
else if (target < val) {
end = index;
}
else {
start = index + 1;
}
index = Math.floor((end - start)/2) + start
}
return index;
};
function 2(takes code from textarea and checks it)
function what(nums, target) {
var s = "var nums = [1, 3, 5, 6]; var target = 5";
var expression = searchInsert();
//inject string in function
var result = eval(expression);
alert(result);
}
は、それがnums
とtarget
から値を取るように、第1関数に何とかvar s = "var nums = [1, 3, 5, 6]; var target = 5";
を注入することです。どうやってやるの?
これは、sもターゲットも最初の関数の値を持たないので、私には未定義のエラーが出ます。 sは、最初の関数のパラメータの値を文字列として保持します。 –
var s = "var nums = [1,3,5,6]; var target = 5"; <----これは意味をなさないので、配列と文字列varを作成する必要があります。そのような文字列varではなくs – Ferus7
です。最初の関数でもパラメータを初期化しない限り、私はすでにあなたのソリューションを試してみましたが、未定義です。 –