要求用户输入字符串。
打印一个新的字符串,如下所示:
第一个字母,然后是每个其他字母(每隔一个字母)或原始字符串的空格。
提供了以下示例(例如var str=prompt("Insert string");
for(var i=1;i<=str.length;i=i+2){
var str1=str.push[i];
var newStr=str.splice[str[i],str.length-1];
}
console.log(newStr);
)
<?php
$target_dir = "images/";// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); //ERROR 1
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
$check = getimagesize($_FILES["fileToUpload"]["name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) { //ERROR 2
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
}
// Check if file already exists
?>
答案 0 :(得分:1)
根据您的代码,尝试:
var str = prompt("Insert string");
var newStr = '';
for(var i = 0; i < str.length; i = i + 2){
newStr += str[i];
}
console.log(newStr);
答案 1 :(得分:0)
您可以这样做。使用Array#filter
var str = 'Airplane';
str.split('').filter(function(val,key){
return key%2==0;
}).join('');
答案 2 :(得分:0)
您可以执行类似
的操作var str = "Good Day";
var res = str.split("").filter(function(str, index) {
return index % 2 == 0;
}).join('');
示例https://jsfiddle.net/mo44dhyq/
.split('')
- 它会将字符串拆分成每个字母的数组并返回数组(documentation)。
.filter(function(str, index) {return index % 2 == 0; })
- 这将迭代数组中的元素(从split()
函数返回)并仅返回偶数索引(documentation)。
.join('')
- 将filter()
函数的结果加入新字符串(documentation)。
答案 3 :(得分:0)
在for
周期内声明的变量仅在该上下文中可用,因此console.log(newStr)
将打印undefined
。能够“保存你的工作”#34;你应该在循环之外定义一些变量。
以下是一个例子:
var str=prompt("Insert string");
var newStr = str[0];
for(var i=1; i<=str.length+2; i=i+2){
newStr = newStr + str[i];
}
console.log(newStr);
答案 4 :(得分:0)
使用String.split
和Array.forEach
函数的解决方案:
var str = 'Airplane',
arr = str.split(""), cutted = "";
arr.forEach((v, k) => (k % 2 !== 0) || (cutted += v)); // ES6 arrow function expression
console.log(cutted); // "Arln"
答案 5 :(得分:0)
您可以使用正则表达式和适当的替换。
编辑:带空格的提案。
document.write('<pre>' + 'Airplane'.replace(/(.)./g, '$1') + '</pre>');
document.write('<pre>' + 'Good Day'.replace(/(.)./g, '$1') + '</pre>');
document.write('<pre>' + 'Airplane'.replace(/(.)./g, '$1 ') + '</pre>');
document.write('<pre>' + 'Good Day'.replace(/(.)./g, '$1 ') + '</pre>');
答案 6 :(得分:0)
这是一个简单的代码:
var str = prompt("Insert string"),
str = str.split(''),
str1 = " ",
len = str.length;
for(var i=0; i < len ;i++){
var newStr=str.splice(0,1);
if((i%2) === 0) {
str1 = str1 + newStr[0];
}
}
console.log(str1);
我希望这应该是问题所在。
首先使用split
将字符串转换为字符数组,然后遍历数组。请记住splice
返回一个数组并影响原始数组。