晚上好,我试图创建一个由数组中多个值组成的字符串。
这是一个例子:
textArray = []
var wordOne = "Hello";
var wordTwo = "World";
if (wordOne != "foo"){
textArray.push(wordOne);
}
console.println(textArray[0] + ", " + textArray[1]);
\\It would print out "Hello, undefined"\\
\\ I use 'console.println' since I'm working on Adobe software\\
基本上,有时有时没有将值添加到我的数组中,但是我仍然希望能够打印出来而不会出现“未定义”的情况。有什么办法可以解决这个问题?
答案 0 :(得分:2)
只需使用加入
textArray = []
var wordOne = "Hello";
var wordTwo = "World";
if (wordOne != "foo"){
textArray.push(wordOne);
}
console.log(textArray.join(', '));
答案 1 :(得分:1)
只需使用一种著名的迭代方法对数组进行迭代。这样您就不会超出数组的长度。如果您的数组中有间隔,因为没有为某些数组插槽分配值,则可以使用forEach
跳过这些间隔:
var arr = [];
// We leave a gap at [0]
arr[1] = "Test";
// Another gap at [2]
arr[3] = "Trial";
arr.forEach((x, i) => console.log(i, x));
答案 2 :(得分:0)
您只需要在数组中推送单个元素,然后访问两个元素,这就是为什么您获得undefined
用于第二次数组访问的原因。
答案 3 :(得分:0)
您应该同时推送两个变量,这就是为什么对索引1取未定义导致数组仅包含一个元素的原因:
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/rooms/**")
.addResourceLocations("classpath:/rooms/")
.setCachePeriod(3600)
.resourceChain(true)
.addResolver(new PathResourceResolver());
}
@Override
public void addCorsMappings(final CorsRegistry registry) {
registry.addMapping("/**");
}
}
答案 4 :(得分:0)
如果没有任何元素,您可以添加一个空白字符串:
var textArray = []
var wordOne = "Hello";
var wordTwo = "World";
if (wordOne != "foo"){
textArray.push(wordOne);
}
else {
textArray.push('')
}
console.println(textArray[0] + ", " + textArray[1]);
//will print: 'Hello,'