I think a better way to do it in this case is making your object like this:
var table = {
"hello world": "greetings_english.html",
"hola": "greetings_spanish.html",
"bonjour": "greetings_french.html"
};
for( var i in table ) {
console.log( i );
console.log( table[ i ] );
}
Or you could create two arrays:
var greetings = [
"hello world",
"hola",
"bonjour"
];
var names = [
"greetings_english.html",
"greetings_spanish.html",
"greetings_french.html"
];
for( var i = 0; i < greetings.length; i ++ ) {
console.log( greetings[ i ] );
console.log( names[ i ] );
}
You can make a table using this method
But in any case of your question:
var table = {
table1: "hello world",
table1_name: "greetings_english.html",
table2: "hola",
table2_name: "greetings_spanish.html",
table3: "bonjour",
table3_name: "greetings_french.html"
};
// Now there are three methods
console.log( "--- Method 1 ---" );
Object.keys( table )
.filter( function( key ) {
return /^table(\d+)$/.test( key );
} )
.forEach( function( key ) {
console.log( key );
console.log( table[ key ] );
console.log( table[ key + "_name" ] );
} );
console.log( "--- Method 2 ---" );
for ( var i in table ) {
if ( /^table(\d+)$/.test( i ) ) {
console.log( i );
console.log( table[ i ] );
console.log( table[ i + "_name" ] );
}
}
console.log( "--- Method 3 ---" );
var keys = [
"table1",
"table2",
"table3"
];
for ( var i = 0; i < keys.length; i ++ ) {
console.log( keys[ i ] );
console.log( table[ keys[ i ] ] );
console.log( table[ keys[ i ] + "_name" ] );
}
Method 2 would be the best.
for (var key in table_object)just usefor (var key of ["table1", …])?for (var i=1; i<=fileCount; i++) { var key = "table"+i; … }tablesandtablenamesas two separate arrays.